procedure bloquearUSB;
var
reg : TRegistry;
begin
reg := TRegistry.create;
with reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('\SYSTEM\CurrentControlSet\Services\UsbStor', false) then
begin
//quatro bloqueia
reg.WriteInteger('Start', 4);
//caminho do arquivo que o windows usa para montar a unidade usb
reg.WriteString('ImagePath', '_system32\DRIVERS\USBSTOR.SYS');
end;
CloseKey;
end;
end;
Procedure desbloquearUSB;
var
reg : Tregistry;
begin
reg := TRegistry.Create;
with reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('\SYSTEM\CurrentControlSet\Services\UsbStor', false) then
begin
//tres desbloqueia
reg.WriteInteger('Start', 3);
//caminho do arquivo que o windows usa para montar a unidade usb
reg.WriteString('ImagePath', 'system32\DRIVERS\USBSTOR.SYS');
end;
end;
end;
Assim como a necessidade e se utilizar algum recurso para manipular as datas e horas de alguma maneira e freqüente, as duvidas de como o faze-lo também é, basta um breve olhar em qualquer fórum especializado e lá está, alguma duvida relacionada, por isso decidi falar um pouco sobre uma unit muito poderosa chamada DateUtils para a manipulação de data e hora, com um grande numero de métodos e classes que facilitam a vida de qualquer um.
Alguns exemplos:
LessThanValue O primeiro valor é menor que o segundo
EqualsValue Os valores são iguais
GreaterThanValue O primeiro valor é maior que o segundo
Procura de arquivos no RapidShare

Uma lista de sites onde você pode procurar arquivos em vários sites de armazenamento, principalmente o RapidShare (filmes, músicas, álbuns completos, livros, jogos, programas, etc). Odeio o Rapidshare, mas admito sua grandeza frente aos outros (em relação ao número de arquivos armazenados).
002. RapidShare Searcher - Procura no rapidshare.com
003. FileZ - Procura no Rapidshare
004. LoadingVault - Procura no RapidShare
005. RapidOSearch - Procura no RapidShare
006. Rapidoogle - Procura no RapidShare
007. HellaFiles - Procura no Rapidshare e no Megaupload
008. RapidShare-Search-Engine - Procura no Rapidshare
009. FileCrop - Procura no Rapidshare e no Megaupload
010. ThuVienPHP - Procura no RapidShare
011. RapidZilla - Procura no rapidshare.com
012. OplaHol - Procura em vários
013. FileSearch - Procura no Rapidshare
014. FileScoop - Procura em vários
015. FilesBot - Procura em vários
016. SearchFiles.de - The Premium File Search Engine
017. OneClickFiles - Procura em vários
018. SearchShared - Procura em vários
019. FilesTube - Procura em vários
020. Rapidfox - Procura no RapidShare
021. ShareMiner - Procura no Rapidshare, Megaupload, SendSpace, ZShare
022. ShareDigger - Procura em vários
023. Share4VN - Procura em vários
024. JuSearch - Procura em vários
026. FilesHunt - Procura em vários
027. MEGAPID - Procura no RapidShare
028. TotMe! - Procura no Rapidshare
029. FileSearch - Procura no Rapidshare e Megaupload
030. MegaDownload - Procura no Megaupload e Rapidshare
031. RapidLibrary - Procura no RapidShare
032. RapidAll - Procura em vários
033. RapidSearch.CA - Procura no RapidShare
034. Gappon - Procura no Rapidshare, Megaupload, Mediafire
035. Search4File - Procura em vários
036. NewRapidHunter - Procura no Rapidshare
037. LoadEvery - Procura em vários
038. FileField - Procura em vários
039. Leecha - Procura em vários
040. RapidShareIndex - Procura no Rapidshare
041. RapidRat - Procura no RapidShare
042. RSDown - Procura no Rapidshare
043. Search.jrfreelancer.com - Procura em vários
044. Sharech - Procura em vários
045. RapidBurner - Procura no RapidShare
046. RapidshareDATA - Procura no RapidShare
047. Search Rapidshare and Megaupload
048. SharingEngines -Procura no Rapidshare, Megaupload, Torrents, Emule
049. QuickSearch - Procura no RapidShare
050. Funfail - Procura em vários
051. InfoBind RapidSearch
052. 4Chan - Procura no RapidShare
053. MegaTao - Procura RapidShare Rss
054. RapidExplorer - Procura no RapidShare e Megaupload
055. Busca-RapidShare - Buscador de Rapidshare
056. DownloadList - Procura no RapidShare
057. rsSearch - Procura no Rapidshare
058. Rapidor - Procura no RapidShare
059. RapidSearch.in - Procura no Rapidshare
060. UVRX - Procura na Internet
061. BioScience - Procura em vários
062. ShowIP - Procura no RapidShare
063. Rapidshare Meta search engine
064. Rapidwolf - Procura no RapidShare
065. FindAnyLinks - Procura em vários
066. RSFilez - Procura em vários
067. Jwagal - Procura no Rapidshare
068. Search Rapid Share . net - Procura no RapidShare
069. RapidSearchLinks - Procura em vários
070. Megaxo - Procura no RapidShare e MegaUpload
071. DDL Search - Procura no Rapidshare
072. RapidSurfing - Procura no RapidShare
073. Rapidsharelink - Procura no Rapidshare
074. JamesWatt - Procura no RapidShare e Megaupload
075. RapidLinks - Procura links do RapidShare
076. FreeXFile - Procura no RapidShare
077. 890m - Procura no Rapidshare
078. RapidZero - Procura no Rapidshare
079. DiggRapidShare - Procura no RapidShare
080. EliteSearch - Procura em vários
081. SharingRapid - Procura em vários
082. 5iles - Procura em vários
083. INetList.com - Procura no RapidShare
084. Search-File
085. PakAdTrader - Procura no RapidShare
086. Shared File Searcher
087. LiveThunder Files
088. ShareMinerScript - Procura em vários
089. Medianet - Procura no RapidShare
090. RapidShareFinder
091. FNETS - Procura no Rapidshare
092. ShareYard Search
093. HuHiHo - Procura em vários
094. goinFiles
095. Yourfile.US
096. GoFileZ File Search Engine
097. RSFind - Procura no RapidShare
098. RapidSeek - Procura em vários
099. Rapid2Share - Procura no RapidShare
100. RapidMe - Software de procura no RapidShare
Function Escreve_Arq(NomeArq,Texto : String ) : Boolean;
var
sArquivo : tStrings;
Begin
Try
sArquivo:=tStringList.Create;
sArquivo.LoadFromFile(NomeArq);
sArquivo.Add(string);
sArquivo.SaveToFile(NomeArq);
result:=True;
except
result:=False;
end
End;
Ex. de uso:
If Escreve_Arq('c:\Teste.txt','Nova Linha de Texto') then
ShowMessage('Arquivo alterado com sucesso !!')
else
ShowMessage('Erro ao alterar arquivo');
http://www.dicasdelphi.com.br/
Pagina com muitas dicas, Otima.
fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=7783 | |
Ai galera uma funçãozinha formatada para vocês usarem em suas aplicações para consultar o CEP dos correios... Essa função retorna um TStrings onde cada linha contém uma informação do CEP como Rua, Bairro, UF, Endereço OBS: Acrescente no USES NMHTTP, NMURL. // criação da função function buscaCEP(lcCEP: string): TStringList; var loHTTP : TNMHTTP; loURL : TNMURL; lnCont : integer; begin try loHTTP := TNMHTTP.Create(Application); loURL := TNMURL.Create(Application); try loHTTP.Get('http://republicavirtual.com.br/web_cep.php?cep='+lcCEP+'&formato=query_string'); // retorna o conteudo da string e formata-o loURL.InputString := loHTTP.Body; // usa o separador de quebra de linha result := TStringList.Create; result.Text := UpperCase(StringReplace(loURL.Decode, '&', #13#10, [rfreplaceAll])); for lnCont := result.Count - 1 downto 0 do if trim(result[lnCont]) = '' then result.Delete(lncont); finally loHTTP.Free; loURL.Free; end; except result := nil; end; end; // exemplo var loCEP: TStringList; begin loCEP := Geral.buscaCEP(RetiraCharsAlfa(_edtCEP.Text)); if loCEP = nil then MensagemOK('CEP não localizado ou não há conexão com a Internet!!!') else if loCEP.Values['RESULTADO'] <> '1' then MensagemOK('CEP não localizado!!!') else begin _edtEndereco.Text := loCEP.Values['TIPO_LOGRADOURO'] + ' ' + loCEP.Values['LOGRADOURO']; _edtBairro .Text := loCEP.Values['BAIRRO']; _edtCidade .Text := loCEP.Values['CIDADE']; _edtEstado.ItemIndex := _edtEstado.Items.IndexOf(loCEP.Values['UF']); end; end; |
fonte http://microportal.vilabol.uol.com.br/dicasdelphi.htm#81
8 - ENTER em vez de TAB no formulário, no DBGrid e no StringGrid
{ Mude a propriedade "KeyPreview" do Form para true. }
{ No evento "OnKeyPress" do Form acrescente o código abaixo: }
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then begin
Key := #0;
Perform(WM_NEXTDLGCTL, 1, 0);
end;
end;
{ Em StringGrid, escreva o evento OnKeyPress como abaixo: }
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
StringGrid1.Perform(WM_KEYDOWN, VK_TAB, 0);
end;
{ Em DBGrid, escreva o evento OnKeyPress como abaixo: }
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
DBGrid1.Perform(WM_KEYDOWN, VK_TAB, 0);
end;
Observações
É bom lembrar que a tecla ENTER no Windows tem seu papel já bem definido quando se trata de caixa de diálogo: executar a ação padrão, normalmente o botão OK. Se não tomar cuidado poderá confundir o usuário, em vez de ajudá-lo.
fonte: http://microportal.vilabol.uol.com.br/dicasdelphi.htm#81
20 - Mostrar um Form de LogOn antes do Form principal
{
* Crie um novo Projeto. Este certamente terá o Form1.
* Adicione um novo Form (Form2).
* Coloque no Form2 dois botões TBitBtn.
* Mude a propriedade Kind do BitBtn1 para bkOK.
* Mude a propriedade Kind do BitBtn2 para bkCancel.
* Vá no menu "Project/Options" na aba "Forms" e passe o
Form2 de "Auto-create Forms" para "Available Forms".
* Abra o arquivo Project.dpr (menu Project/View Source).
* Altere o conteúdo deste arquivo conforme abaixo:
}
program Project1;
uses
Forms, Controls,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
var
F: TForm2;
begin
F := TForm2.Create(Application);
try
if F.ShowModal = mrOK then begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
finally
F.Free;
end;
end.
Observações
O Form2 do exemplo é o Form de LogOn. Este deverá ser preparado para que se possa escolher o usuário, digitar a senha, etc.