Hacking and more...
HaCkinG CulT
Lista Forumurilor Pe Tematici
Hacking and more... | Reguli | Inregistrare | Login

POZE HACKING AND MORE...

Nu sunteti logat.
Nou pe simpatie:
Alexandraa.
Femeie
22 ani
Braila
cauta Barbat
26 - 80 ani
Hacking and more... / S.O.S. / faza in delphi Moderat de Shocker
Autor
Mesaj Pagini: 1
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
deci...am o problema...
am o componenta de tip TRichEdit (RichEdit1), deschid un document in ea (cu ajutorul la la OpenDialog1)...problema e ca nu stiu cum pot face ca DirectoryListBox1 sa imi arate folderul din care provine acel document ( + vreau ca DirectoryListBox1 sa nu poata fi modificat de catre utilizator)...
sper ca m-am exprimat pe intelesul tuturor.....
ma ajuta cineva?


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
Shocker
Super Moderator

Din: localhost
Inregistrat: acum 18 ani
Postari: 2084


Code:

DirectoryListBox1.Directory:=ExtractFileDir(OpenDialog1.FileName);

Si ca sa nu il poata modifica utilizatorul, dai pe el iar acolo in stanga la proprietati dai la Enabled si dai False


_______________________________________
ShockingSoft is back
Freakz only
Comics of the day

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
mersi mult...fac cinste

_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
Shocker...daca ai putea sa ma mai ajuti la ceva...

deci, ma facut chestia asta :

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
    nou:TMenuItem;
begin
  for i:=1 to 50 do begin
                        nou:=TMenuItem.Create(Size1);
                        nou.Caption:=IntToStr(i);
                        Size1.Add(nou);
                      end;
    for i:=1 to screen.Fonts.Count-1 do begin
                                          nou:=TMenuItem.Create(Font2);
                                          nou.Caption:=Screen.Fonts[i];
                                          Font2.Add(nou);
                                        end;
end;

iar acu' bineinteles k vreau sa pot face ceva cu acele submeniuri create...si banuiesc k a le lua pe fiecare in parte nu e cea mai buna solutie

vreau k atunci cand dau clic pe un submeniu sa se selecteze un font sau o marime (dupa caz)...dar asta se intelege...

multumesc anticipat...


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
Shocker
Super Moderator

Din: localhost
Inregistrat: acum 18 ani
Postari: 2084
Invata si tu sa aliniezi mai frumos codul ca sa il intelegi mai usor :P

In fine, uite aici cum se face:

Code:

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
    nou:TMenuItem;
begin
for i:=1 to 50 do
 begin
  nou:=TMenuItem.Create(Size1);
  nou.Caption:=IntToStr(i);
  Size1.items.Add(nou);
 end;

for i:=1 to screen.Fonts.Count-1 do
 begin
  nou:=TMenuItem.Create(Font2);
  nou.Caption:=Screen.Fonts[i];
  nou.OnClick:=AlegeFont;
  Font2.items.Add(nou);
 end;

Dupa cum vezi avem linia:

Code:

nou.OnClick:=AlegeFont;

deci la fiecare submeniu adaugat la click pe el [mai exact cand se lanseaza evenimentul OnClick] se va executa AlegeFont [o procedura intermediara]:

Code:

procedure TForm1.AlegeFont(Sender: TObject);
begin
blabla.Font.Name:=TMenuItem(Sender).Caption;
end;

Iti dai seama ca in loc de 'blabla' pui tu numele obiectului la care vrei sa schimbi fontul.

Nu uita sa declari acolo sus la declaratii:

Code:

procedure AlegeFont(Sender: TObject);

--------------------------------------------------------------------------------


Insa ar mai fi ceva, dar nu chiar asa important: nu toate numele de la Screen.Fonts se potrivesc cu ce ar trebui sa bagi la Font.name:=
De exemplu Screen.Fonts iti arata si Microsoft Sans Serif, insa numele fontului care trebuie sa il folosesti la .Font.name este MS Sans Serif.
In fine, nu e chiar asa de grav, se intampla la putine fonturi asta.

Ai putea sa iei lista de fonturi si altcumva, dar se complica lucrurile... Faci o functie:

Code:

function enumerareFonturi(var LogFont: TLogFont; var TextMetric: TTextMetric; FontType: Integer; Data: Pointer): Integer; stdcall;
begin
  TStringList(Data).Add(LogFont.lfFaceName);
  Result := 1;
end;

iar acum FormCreate ar arata cam asa:

Code:

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
    nou:TMenuItem;
    h:hwnd;
    a:TStringList;
    tmp:string;
begin
for i:=1 to 50 do
 begin
  nou:=TMenuItem.Create(Size1);
  nou.Caption:=IntToStr(i);
  Size1.items.Add(nou);
 end;

a:=TStringList.Create;
h:=GetDC(0);
EnumFonts(h,nil,@enumerareFonturi,Pointer(a));
ReleaseDC(0,h);
for i:=0 to a.Count-1 do
 begin
  nou:=TMenuItem.Create(Font2);
  nou.Caption:=a[i];
  nou.OnClick:=AlegeFont;
  Font2.items.Add(nou);
 end;
a.Free;
end;

dar cum ziceam, nu e nevoie sa te complici


_______________________________________
ShockingSoft is back
Freakz only
Comics of the day

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
raman dator....m-ai salvat...

_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
ar cam fi o buba
din moment ce submeniurile sunt create la executie nu prea am acces la ele...am pus si o poza... (Font2) la asta ma refer...
daca gresesc...ai ceva idei?

faza delphi cam bubadin moment sunt create executie prea acces ele...am pus poza... (font2) asta

46.8KB


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
Shocker
Super Moderator

Din: localhost
Inregistrat: acum 18 ani
Postari: 2084
Zi-mi exact ce vrei sa faci ca nu am inteles mare lucru.

Ce 'acces' vrei la ele si ce vrei sa vad eu in poza aia? Ca nu inteleg


_______________________________________
ShockingSoft is back
Freakz only
Comics of the day

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
deci...daca am inteles bine ce ai zis tu mai sus...la fiecare submeniu al lui Font2 trebuie ca la OnClick sa fie pusa procedure AlegeFont...nu?
si (daca am interpretat bine mesajul tau) trebuie sa am acces la fiecare submeniu al lui Font2 ca sa fac treaba aia...
dar submeniurile se creaza numai in momentul crearii formei...asa ca nu am acces la ele...
poate am inteles gresit,dar...
am mai pus o poza marita...sa te uiti la meniul Font2...

faza delphi inteles bine zis mai sus...la fiecare submeniu lui font2 trebuie onclick fie pusa

36.9KB


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
Shocker
Super Moderator

Din: localhost
Inregistrat: acum 18 ani
Postari: 2084
Pff... ti-am explicat cum sta faza. Se atribuie automat procedura AlegeFont la OnClick la fiecare submeniu. Uite unde:

Shocker a scris:


procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
    nou:TMenuItem;
begin
for i:=1 to 50 do
begin
  nou:=TMenuItem.Create(Size1);
  nou.Caption:=IntToStr(i);
  Size1.items.Add(nou);
end;

for i:=1 to screen.Fonts.Count-1 do
begin
  nou:=TMenuItem.Create(Font2);
  nou.Caption:=Screen.Fonts[i];
  nou.OnClick:=AlegeFont;
  Font2.items.Add(nou);
end;


Si ti-am aratat si procedura AlegeFont:

Code:

procedure TForm1.AlegeFont(Sender: TObject);
begin
blabla.Font.Name:=TMenuItem(Sender).Caption;
end;

Deci la click pe fiecare submeniu se executa AlegeFont si se atribuie lui blabla.font.name [blabla.Font.Name:=TMenuItem(Sender).Caption;] fontul rezultat din textul de pe submeniul pe care ai dat click [blabla.Font.Name:=TMenuItem(Sender).Caption;]


Sa iti explic cum e cu blabla.Font.Name:=TMenuItem(Sender).Caption; poate nu intelegi...
blabla e un Label. Prin blabla.Font.Name:=... schimbam fontul textului label-ului respectiv. Deci dupa := ar trebui sa punem un nume de font.
dupa cum stii xxx.caption e textul care se afla pe un obiect [de exemplu textul de la submeniul xxx]

Asa... acum sa ne intoarcem la TMenuItem(Sender).Caption;
Dupa cum vezi procedura AlegeFont e declarata asa:
procedure AlegeFont(Sender: TObject); [deci are un parametru, si anume Sender care reprezinta obiectul pe care ai apasat ca s-a se execute procedura asta]
Deci in cazul nostru sender va fi unul dintre acele submeniuri, asa ca ii zicem compilatorului ca e submeniu[TMenuItem] prin TMenuItem(Sender), apoi punem .Caption ca sa ne spuna textul de pe submeniul pe care am apasat mai inainte...

Nelamuriri?



_______________________________________
ShockingSoft is back
Freakz only
Comics of the day

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
am priceput...mi scapase o chestie...
mersi de explicatii (stiam ceva dar nici o data nu strica sa iti mai reamintesti)...
ms pt tot


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
bun...am intalnit alta problema...

as vrea sa transform un text selectat (dintr-un richedit) in upper case sau in lower case...
ma poate ajuta cinava?
...pana acum am reusit sa transform tot textul...dar nu pot transforma ce am selectat

shocker as fi recunoscator daca m-ai ajuta...sau oricine altcineva care se pricepe...


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
Shocker
Super Moderator

Din: localhost
Inregistrat: acum 18 ani
Postari: 2084
Asta e foarte usor:

Code:

RichEdit1.SelText:=UpperCase(RichEdit1.SelText);

sau

Code:

RichEdit1.SelText:=LowerCase(RichEdit1.SelText);



_______________________________________
ShockingSoft is back
Freakz only
Comics of the day

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
asa de simplu ?! ...varianta asta nu am incercat-o...
ar trebuii sa imi dau palmi...
ms


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
Shocker
Super Moderator

Din: localhost
Inregistrat: acum 18 ani
Postari: 2084

ystenly a scris:

asa de simplu ?! ...varianta asta nu am incercat-o...
ar trebuii sa imi dau palmi...
ms

Aia era cea mai usoara varianta, se putea face si mai greu 

Ai reusit?


_______________________________________
ShockingSoft is back
Freakz only
Comics of the day

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
mai usor e mai bine...deocamdata
da, am reusit...

ms de support


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
cate probleme.....
eu incerc asta :

  procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
  begin
    lbLog.Items.Add('Connecred from: '   +AThread.Connection.Socket.Binding.PeerIP);     
  end;


si imi da eroarea asta :

  [Error] Unit1.pas(49): Undeclared identifier: 'lbLog'

stie cineva de ce?


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
Shocker
Super Moderator

Din: localhost
Inregistrat: acum 18 ani
Postari: 2084
Ce vrea sa fie lbLog ala? Nu ai nici un obiect/nici o variabila declarata cu numele ala...

_______________________________________
ShockingSoft is back
Freakz only
Comics of the day

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
cat de prost pot sa fiu...era vorba de un list box...am uitat sa ii modific numele si aveam o idee fix sa folosesc "lbLog"...penal.....

si inca ceva...
de curand am incept sa invat despre servere si clienti (ma refer in delphi)...si incerc sa fac o cerere de la client la server pentru a imi trimite o poza...
comanda la server e cam asa:

procedure TForm1.IdTCPServer1TIdCommandHandler2Command(
  ASender: TIdCommand);
var numefisier:string;
    fstream:TFileStream;
begin
   if Assigned(ASender.Params) then
   numefisier:=HTTPDecode(ASender.Params[0]);
   if not FileExists(numefisier) then
   begin
      ASender.Response.Text:='File not found';
      lbLog.Items.Add ('File not found: '+numefisier);
      raise EIdTCPServerError.Create('File not found: '+numefisier);
    end
    else
      begin
        fstream:=TFileStream.Create(numefisier,fmOpenRead);
        try
        ASender.Thread.Connection.WriteStream(fstream, True, True);
        lblog.Items.Add('File returned: '+numefisier+' ('+IntToStr(fStream.Size)+') ');
        finally
          fstream.Free;
        end;
   end;
end;


asta e eroarea :
  [Error] Unit1.pas(45): Undeclared identifier: 'HTTPDecode'
si la client bineinteles : HTTPEncode....

Faza cu Decode si Encode am gasit-o intr-o carte......si e ceva nou pt mine..

poti sa ma ajuti?


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
Shocker
Super Moderator

Din: localhost
Inregistrat: acum 18 ani
Postari: 2084
HTTPEncode/Decode sunt niste functii declarate in unit-ul HTTPApp, asa ca tot ce trebuie sa faci e sa te duci sus la uses si sa pui si HTTPApp in lista cu unit-urile folosite. Exemplu:

Code:

unit blabla;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, HTTPApp;



_______________________________________
ShockingSoft is back
Freakz only
Comics of the day

pus acum 17 ani
   
ystenly
Old School Member

Inregistrat: acum 18 ani
Postari: 410
am inteles...
MERSI !


_______________________________________
I am not as stupid as I look...

pus acum 17 ani
   
Vic
Membru nou

Inregistrat: acum 17 ani
Postari: 5
shoker am si eu o intrebare .... ca sa ajungi la nivelul asta la care esti tu .. ma refer la limbaje de programare cam cati ani ai invatzat .. de cat timp faci chestia asta !!!

_______________________________________
Try to be the best !

pus acum 17 ani
   
Shocker
Super Moderator

Din: localhost
Inregistrat: acum 18 ani
Postari: 2084

Vic a scris:

shoker am si eu o intrebare .... ca sa ajungi la nivelul asta la care esti tu .. ma refer la limbaje de programare cam cati ani ai invatzat .. de cat timp faci chestia asta !!!

Pai fac asta pe cont propriu [fara profesori, fara blabla, doar cu frate-miu cate-odata] de vreo 3 ani 


_______________________________________
ShockingSoft is back
Freakz only
Comics of the day

pus acum 17 ani
   
Pagini: 1  

Mergi la