![]() |
Re: Problem mit Listbox und Typen
OK, es stimmt ja alles was Ihr sagt, wird wohl eher an mir liegen, da ich mich mit Delphi kaum auskenne und mich die Typen, die man alle konventieren muss mich verrückt machen.
Ich habe auf meinem Formular 3 edit-Felder... in 2 gebe ich ein von wo, bis wo, der Bereich durchsucht werden soll, ins dritte gebe ich ein, wonach gesucht werden soll. Mir wird aber nicht das ausgegeben, was ich in der Listbox haben möchte. Helft mir bitte. Code ist unschön ;( sory
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Processhandle: THandle; WindowHandle, i, Pidi, lBuf, EndMemHex, StartMemHex, Sets, SuchS : Integer; Wert :DWORD ; StartMem, EndMem, SuchMem, SHex, EHex: String; begin listbox1.Clear; StartMem:= edit2.Text; EndMem := edit3.Text; SuchMem := edit4.Text; SuchS:= StrToInt(SuchMem); SHex:= '$'+ StartMem; EHex:= '$'+ EndMem; StartMemHex:= StrToInt(SHex); EndMemHex:= StrToInt(EHex); WindowHandle :=FindWindow(nil,'Guild Wars'); While StartMemHex <= EndMemHex Do begin GetWindowThreadProcessId(WindowHandle ,@Pidi); ProcessHandle :=OpenProcess(PROCESS_VM_READ ,False , pidi); ReadProcessMemory(Processhandle ,ptr(StartMemHex),@lBuf,4,Wert); StartMemHex:= StartMemHex + 1; If SuchS = lbuf Then Listbox1.Items.Add (IntToHex(StartMemHex,8)); Sets:= Listbox1.Items.Count; Label5.Caption:=IntToStr(Sets) ; end; end; So etwas sollte in der Listbox z. B. rauskommen : 00A0002F 00A00037 00A0003F 00A00047 00A0004F 00A00057 bei mir kommt aber das raus: 00A00030 00A00038 00A00040 00A00048 |
Re: Problem mit Listbox und Typen
Zitat:
die Werte die Du herausbekommst unterscheiden sich nur um 1 Byte von den Werten die Du herausbekommen willst. Es mag sein, das dieses an StartMemHex := StartMemHex +1 liegt. Grüße Klaus |
Re: Problem mit Listbox und Typen
Danke dir schon wieder, habe ich gar nicht bemerkt, dass die wert sich nur um 1byte unterscheiden.
Listbox1.Items.Add (IntToHex(StartMemHex-1,8)); funktionierts |
Re: Problem mit Listbox und Typen
.. du könntest auch
Delphi-Quellcode:
nach der if Abfrage ausführen.
StartMemHex := StartMemHex +1
Grüße Klaus |
Re: Problem mit Listbox und Typen
Brauche noch einmal deine Hilfe.
Und zwar möchte ich nun die Ergebnisse, die in meiner Listbox rauskommen, nocheinmal auslesen. Dazu füll ich sie auf arrays, was auch klappt, nur wenn ich jetzt die arrays in integer typen umwandeln möchte, kommt bei mir die Fehlermeldung, dass ''kein gültiger Integerwert sei. hier bsp.
Delphi-Quellcode:
könnte es sein, das der letze Eintrag in der Listbox leer ist und deshalb kein Integerwert ist?
var
i, Anzahl : Integer; NextScan: array [0..100] of String; NextInt: array [0..100] of Integer; begin Anzahl:= Listbox1.Items.Count; For i:= 0 to Anzahl -1 do NextScan[i]:= '$' + Listbox1.Items[i]; NextInt[i]:= StrToInt(NextScan[i]); i:= i + 1; end; Wie könnte ich es dann lösen? |
Re: Problem mit Listbox und Typen
Hallo,
habe einen Kommentar eingefügt. Grüße Klaus Zitat:
|
Re: Problem mit Listbox und Typen
Sory, aber versteh ich nicht so ganz. Wenn ich bei Anzahl dieses -1 weglass, dann kommt eine Fehlermeldung, dass Listenindex überschritten wird. Und wenn ich das mit i: i+1 weglass, ist bei mir die selber Fehlermeldung, wie im vorigem Beitrag.
was kann ich tun? Gruß Wadim |
Re: Problem mit Listbox und Typen
begin-end ist was tolles...
|
Re: Problem mit Listbox und Typen
Delphi-Quellcode:
mfgvar i, Anzahl : Integer; NextScan: array [0..100] of String; NextInt: array [0..100] of Integer; begin Anzahl := Listbox1.Items.Count; //ok For i:= 0 to Anzahl -1 do begin NextScan[i]:= '$' + Listbox1.Items[i]; NextInt[i]:= StrToInt(NextScan[i]); end; end; das muss so sein da nach jedem for durchgang i automatisch erhöh wird! außerdem begin end vergessen! mfg |
Re: Problem mit Listbox und Typen
Danke euch beiden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz