AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Listbox und Typen

Ein Thema von wadimwadim · begonnen am 14. Jun 2008 · letzter Beitrag vom 15. Jun 2008
Antwort Antwort
Seite 2 von 3     12 3      
wadimwadim

Registriert seit: 22. Mai 2008
45 Beiträge
 
#11

Re: Problem mit Listbox und Typen

  Alt 15. Jun 2008, 11:56
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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Problem mit Listbox und Typen

  Alt 15. Jun 2008, 12:16
Zitat von wadimwadim:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
...
  While StartMemHex <= EndMemHex Do
    begin
     ...
      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
Hallo,

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
Klaus
  Mit Zitat antworten Zitat
wadimwadim

Registriert seit: 22. Mai 2008
45 Beiträge
 
#13

Re: Problem mit Listbox und Typen

  Alt 15. Jun 2008, 12:24
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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: Problem mit Listbox und Typen

  Alt 15. Jun 2008, 12:30
.. du könntest auch
StartMemHex := StartMemHex +1 nach der if Abfrage ausführen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
wadimwadim

Registriert seit: 22. Mai 2008
45 Beiträge
 
#15

Re: Problem mit Listbox und Typen

  Alt 15. Jun 2008, 12:49
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:
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;
könnte es sein, das der letze Eintrag in der Listbox leer ist und deshalb kein Integerwert ist?
Wie könnte ich es dann lösen?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Problem mit Listbox und Typen

  Alt 15. Jun 2008, 13:22
Hallo,

habe einen Kommentar eingefügt.

Grüße
Klaus

Zitat von wadimwadim:
Delphi-Quellcode:
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 // i wird hier erhöht
  NextScan[i]:= '$' + Listbox1.Items[i];
  NextInt[i]:= StrToInt(NextScan[i]);
  i:= i + 1; // <--- das hier solltest Du tunlichst unterlassen
end;
Klaus
  Mit Zitat antworten Zitat
wadimwadim

Registriert seit: 22. Mai 2008
45 Beiträge
 
#17

Re: Problem mit Listbox und Typen

  Alt 15. Jun 2008, 13:33
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
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Problem mit Listbox und Typen

  Alt 15. Jun 2008, 13:38
begin-end ist was tolles...
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von MSSSSM
MSSSSM

Registriert seit: 18. Apr 2008
223 Beiträge
 
Delphi 7 Professional
 
#19

Re: Problem mit Listbox und Typen

  Alt 15. Jun 2008, 13:42
Delphi-Quellcode:

var
  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;
mfg
das muss so sein da nach jedem for durchgang i automatisch erhöh wird!
außerdem begin end vergessen!

mfg
Marius
  Mit Zitat antworten Zitat
wadimwadim

Registriert seit: 22. Mai 2008
45 Beiträge
 
#20

Re: Problem mit Listbox und Typen

  Alt 15. Jun 2008, 13:44
Danke euch beiden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz