Screenshot 14

abril 12, 2011

Screenshot 14

Details:
Owner: Slockz
OS: Windows Seven (Modified)
Toke Date: 12/04/2011
Site: http://slockz.ath.cx

* Re-taking this section of screenshot, so you guys can see my new desktop with multi-monitors.

Slockz.

Fazendo Delphi Falar

maio 5, 2010

Bom, retomando a parte de códigos que recentemente não tenho escrito muito, dessa vez eu tive de vir para postar isto aqui..
A meses atraz eu fiz diversos tipos de procuras por esse código e não o encontrei, quando eu via qualquer link que dizia “aqui tem”. ou era pago, ou precisava de registro, ou era fake..
E como eu acho que é uma função realmente útil, resolvi posta-lá.

Quem já não quis fazer um programa com áudio? ou melhor, quem já não quis que seu programa te dissesse tudo o que vc precisa?
ex. Acesso permitido. ou Acesso negado.
e qualquer outra frase, sem ter que ir grava-lá e mandar um componente executar o áudio.
Bom.. Eu precisei deste código! e depois de procurar quinem doido, finalmente consegui montar o quebra cabeça, e fazer o esquema funcionar (nem acreditei no quão simples era).

Utilizando o “Text to Speech/Speaker/Fala” do windows.
Antes de mais nada, adicionar na uses: ComObj.

A atribuição da função à uma váriavel é simples:
var
voz : OleVariant;
begin
voz:=CreateOleObject(‘SAPI.SpVoice’);

Com isso, a váriavel voz, passa a obedeçer como a “engine” do programa de fala do windows, passando assim a receber atributos ex.
voz.Rate:=10; -> para deixar a voz falando super rápido.
voz.Rate:=-10; -> para deixar a voz falando super lento.

E dando o procedimento de execução:
voz.Speak(‘SPEAK THIS THING‘);

Vi em diversos lugares também comandos como:
voz.Pause;
voz.Resume;

dos quais não tive muito interesse (sendo assim nem os testei).

De qualquer maneira, agora você pode fazer seu programa falar o que vc quizér e/ou até mesmo (para grandes empresas (se necessário)) adicionar uma opção para que cégos possam utilizar seu programa, fora todo o esquema de automação em que este código pode te incluir.

Para os preguiçosos:
procedure Falar(texto:string);
var fala:olevariant;
begin
fala:=CreateOleObject(‘SAPI.SpVoice’);
fala.Speak(texto);
end;

só usar: Falar(‘Seu texto.‘);

Abraço!
;D

Teamspeak server

março 23, 2010

Download do Teamspeak clique aqui.

Endereço do servidor: sserver.ath.cx
Versão do servidor: 2.0.24.01

-

Counter-Strike 1.6

fevereiro 5, 2010

Download link Cstrike 1.6 Full Non Steam click here.

Download link Cstrike 1.6 Full Patch v23 click here.

-

Servers:

* [ sserver.ath.cx:27015 ] (Slockz)
* [ 189.19.10.168:27015 ] (CSRegente)

-

Any problem contact me or post a comment.

-

Some websites

fevereiro 4, 2010

Terminal website: http://www.slockz.kit.net
Formspring.me: http://formspring.me/slockz
Funny movie: http://en.tackfilm.se?id=1263580269605RA95

Useful links for me.

Emulador p/ Playstation 2

outubro 1, 2009

Depois de tanto procurar quinem loco, eu consegui finalmente achar um emulador que funcionasse para jogos do Playstation 2, inclusive com os plugins e bios funcionando.

Percebi depois de muito tempo mechendo, que tudo também é uma questão de configuração, embora este sejá o único que realmente funcionou!

Porisso vou disponibilizar o download do mesmo, mas a configuração é por conta de vocês. Qualquer duvida tamos ae!

Emulador Playstation 1: Link (versão: pSX Fin 1.12)

Emulador Playstation 2: Link (versão: Pcsx2 0.9.2)

obs: Pelo amor de deus, (no 2) só lembrem de descompactar a pasta de plugins, e das bios lá na pasta do jogo heim…

Boa sorte! ;)

Notebook battery information

fevereiro 4, 2009

Nesse post vou fazer um label1 receber as informações completas da fonte do computador.

Primeiramente ponha dentro de implementation os valores:

const
AC_OFFLINE = 0;
AC_ONLINE = 1;
AC_DESCONHECIDO = 255;
BAT_CARGA_CHEIA = 1;
BAT_CHARGA_BAIXA = 2;
BAT_CRITICO = 4;
BAT_CARREGANDO = 8;
BAT_AUSENTE = 128;
BAT_DESCONHECIDO = 255;

Em seguida insira uma procedure comum como a de um TTimer1

procedure TForm1.Timer1Timer(Sender: TObject);
var
EstadoDaFonte: _SYSTEM_POWER_STATUS;
status,flag,nivel,tempor,tempot:string;
begin
GetSystemPowerStatus(EstadoDaFonte);
case EstadoDaFonte.ACLineStatus of
AC_OFFLINE: status := ‘Usando a bateria’;
AC_ONLINE: status := ‘Ligado na tomada’;
AC_DESCONHECIDO: status := ‘Estado da fonte desconhecido’;
end;
case EstadoDaFonte.BatteryFlag of
BAT_CARGA_CHEIA: flag := ‘Bateria com carga cheia’;
BAT_CHARGA_BAIXA: flag := ‘Bateria com carga baixa’;
BAT_CRITICO: flag := ‘Bateria com carga baixa em nível crítico’;
BAT_CARREGANDO OR 9: flag := ‘Bateria carregando…’;
BAT_AUSENTE: flag := ‘Sem bateria instalada’;
BAT_DESCONHECIDO: flag := ‘Estado desconhecido’;
else
if status = ‘Usando a bateria’ then flag:=’Descarregando…’;
if status = ‘Ligado na tomada’ then flag:=’Carregando…’;
end;
if EstadoDaFonte.BatteryLifePercent <= 100 then
nivel := ‘Nível: ‘+IntToStr(EstadoDaFonte.BatteryLifePercent)+’%’
else if EstadoDaFonte.BatteryLifePercent = HIGH(BYTE) then
nivel := ‘Nível: Desconhecido’;
if EstadoDaFonte.BatteryLifeTime < HIGH(DWORD) then
tempor := ‘Tempo restante de uso: ‘ + IntToStr(EstadoDaFonte.BatteryLifeTime div 60) + ‘ minutos’
else tempor := ‘Tempo restante de uso: Desconhecido’;
if EstadoDaFonte.BatteryFullLifeTime < HIGH(DWORD) then
tempot:=’Duração total da bateria: ‘ + IntToStr(EstadoDaFonte.BatteryFullLifeTime div 60) + ‘ minutos’
else tempot:=’Duração total da bateria: Desconhecido’;
label1.caption:=status+#13+flag+#13+nivel+#13+tempor+#13+tempot;
end;

Screenshot 12 (Windows 7 Based)

janeiro 11, 2009
Screenshot 12

Screenshot 12

Details:
Owner: Slockz
Developer: Slockz
Theme: Windows Seven Based
Toke Date: 11/01/2009
Package: Aston Gladiators software 1.9.0
Site: http://www.aston.com
Credits:
-Slockz (Start button, icons, and full theme)
-Dmitry/UnderPI (from aston soft)
-Mozilla Firefox 3.0.3 Final
-Nullsoft for Winamp v5.531
-Google Desktop (Deskbar)

* Not yet available for public download, sorry.

Contact me by e-mail or postmessage if you want this version,

then i send it for you by e-mail. :)

Slockz.

Returning HTML Code (Delphi WebBrowser)

dezembro 2, 2008

Como ontem precisei deste código para solucionar um problema para “um amigo” e não encontrei nada, perdi algumas horinhas bolando um, então resolvi soltar o código ai ;)
tá ai brother hehe..

Proposta:
Receber em modo texto para qualquer componente ou variável string o código HTML de uma página independente da configuração proxy especificada pelo internet explorer.

Solução:
Para que o site sempre fosse localizado eu desenvolvi duas maneiras para que o proxy fosse sempre detectado. Na primeira maneira, (e pelo jeito não a mais recomendada), eu desenvolvi um código (que funciona apenas no Delphi 5), para pegar o proxy no registro:
procedure (De um OnbuttonClick por exemplo);
var //variáveis
registro : TRegistry;
proxynoregistro : string;
proxy,p : string;
porta : integer;
i,pos : integer;
begin registro := TRegistry.Create;
registro.RootKey := HKEY_CURRENT_USER;
if registro.OpenKey(‘\Software\Microsoft\Windows\CurrentVersion\Internet Settings’, True) then
proxynoregistro:=Registro.ReadString(‘ProxyServer’);
registro.free;
proxy:=”; porta:=0; p:=”;
pos:=0; while proxynoregistro[pos] ‘:’ do inc(pos);
memo1.lines.add(”); memo1.lines.add(”); memo1.lines.add(”);
memo1.lines.strings[0]:=’['+INTTOSTR(pos)+'] Proxy identificado…’;
memo1.lines.Strings[1]:=”;
memo1.lines.Strings[2]:=”;
for i:=0 to pos-1 do
memo1.lines.strings[1]:=memo1.lines.strings[1]+proxynoregistro[i];
for i:=pos+1 to length(proxynoregistro) do
memo1.lines.strings[2]:=memo1.lines.strings[2]+proxynoregistro[i];
try proxy:=memo1.lines.strings[1];
p:=memo1.lines.strings[2];
porta:=STRTOINT(p);
if memo1.lines.Strings[1] = ” then proxy:=”;
if memo1.lines.Strings[2] = ” then porta:=0;
except end;
Componente.Proxy:=proxy;
Componente.ProxyPort:=porta;
Componente.Get(…

já validado para funcionar caso o proxy não esteja especificado. Porem, é uma das gambiarras mais locas que já fiz também.. e convenhamos, desnecessária.
Eu utilizei do TNMHttp1 disponível apenas para o Delphi 5.
Por outro lado,
Tive que abandonar e iniciar toda a função de uma mesma maneira com componentes compatíveis com o Delphi 5 e 7,
foi ai que encontrei o TWebBrowser1
Disponível nos Delphi’s 5 ou 7 > Internet > WebBrowser

Ok… Para que a function funcione, precisaremos declarar algumas coisas na uses como OleCtrls, SHDocVw, e ActiveX;

Depois insira o componente WebBrowser1, um Edit1, e um Memo1.

E em implementation insira a function:

function getHTMLcode(memo: TStrings): Boolean;
var
psi: IPersistStreamInit;
iss: TStringStream;
is: IStream;
s: string;
begin
psi := WebBrowser1.Document as IPersistStreamInit;
s := ”;
iss := TStringStream.Create(s);
try is := TStreamAdapter.Create(iss, soReference) as IStream;
result := Succeeded(ps.Save(is, True));
if result then memo.Add(iss.Datastring);
finally iss.Free;
end;
end;

//E o evento que perceberá quando a página foi carregada e seu código poderá ser retirado, é este!…
procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
begin
memo1.clear;
getHTMLcode(Memo1.Lines);
end;

//Depois a função de carregar a página pode ser facilmente chamada…
procedure (Exemplo de um OnButtonClick);
var
flag:olevariant;
begin
webbrowser1.navigate(edit1.text,flag,flag,flag,flag);
//função principal para chamar a página da web desejada
//especificada (no exemplo) pelo componente edit1.text.
end;

end.
Enjoy =]

Windows Query End Session

novembro 14, 2008

Hoje eu vou ensinar a procedure em pascal que fica atenta às mensagens que o Windows envia as aplicações.. hoje em especifico, a mensagem de encerramento dos programas para o desligamento do computador.

O Windows para encerrar os processos envia uma mensagem aos programas uma única vez, e aguarda até que os programas respondam com confirmação está mensagem para que ele possa encerrar o Explorer e finalizar.

Obs: A mensagem que ele envia pode ser simulada no Delphi, com está função..
SendMessage(HWND, MESSAGE, 0, 0);

Agora vamos à inserção da procedure que identifica a mensagem de desligamento.

Antes de mais nada verifique a declaração de: Windows, nas uses.

Agora no public da unit.. cole está referencia de procedure:
procedure WMQueryEndSession (var Msg : TWMQueryEndSession); message WM_QueryEndSession;

Ps: WM_QueryEndSession, é a mensagem que é enviada do windows para o seu programa, informando que o Windows está em processo de desligamento!

Declare uma variável global chamada: permitirdesligar como string;
Var permitirdesligar : string;

Agora cole na implementação a procedure:
procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession);
begin
if uppercase(permitirdesligar) = ‘SIM’ then
begin
application.terminate;
Msg.Result := 1;
End
Else
Abort;
End;

Lembrando que, na verdade está variável global apenas vai armazenar as respostas SIM e NÃO, e identificar que quando a resposta for SIM, ele irá enviar a resposta de confirmação e encerrar o programa, caso contrario, ira abortar a mensagem.

Agora basta você digitar:
permitirdesligar:=’não’;
quando quiser que seu programa continue executando!.. e depois coloque como:
permitirdesligar:=’sim’;
para que ele continue o processo de desligamento normalmente.

Enjoy ;)


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.