Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String von Adresse lesen... (https://www.delphipraxis.net/39622-string-von-adresse-lesen.html)

FriFra 5. Feb 2005 12:00


String von Adresse lesen...
 
Wie bekomme ich einen Text von einer bestimmten Adresse in einen String?

KLS 5. Feb 2005 12:06

Re: String von Adresse lesen...
 
Was meinst du mit Adresse?

Ein Zeichen kannst du so auslesen.

bsp := 'test';
showmessage(Bsp[2]); // = e

ReDoX 5. Feb 2005 12:06

Re: String von Adresse lesen...
 
das kannst du mit

Delphi-Quellcode:
var
AChar : Char;
MyString : String;
begin
AChar := MyString[1];
end;
Mfg ReDoX

FriFra 5. Feb 2005 12:09

Re: String von Adresse lesen...
 
Nein, das meinte ich nicht... Ich habe eine Variable vom Typ Word (eine Zahl ;) ) und will nun den entspr. Text von dieser Adresse aus dem Speicher lesen...

KLS 5. Feb 2005 12:30

Re: String von Adresse lesen...
 
Durch ein bisschen ausprobieren bin ich auf sowas gekommen... (ich hab keinerlei Erfahrung mit Pointern)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  test : string;
  zeiger : pointer;
begin
  try
    test := 'Hallo';
    zeiger := @test;
    showmessage(string(zeiger^));
  except
    showmessage('Fehler');
  end;
end;
Deinen "Zeiger" musst du halt nur anpassen.

Oxmyx 5. Feb 2005 12:34

Re: String von Adresse lesen...
 
Zitat:

Zitat von FriFra
Nein, das meinte ich nicht... Ich habe eine Variable vom Typ Word (eine Zahl ;) ) und will nun den entspr. Text von dieser Adresse aus dem Speicher lesen...

Welchen Text denn? Da steht doch kein Text im Speicher, sondern eine Zahl!

Wenn du die Zahl in die hexadezimale Darstellung umwandeln willst, kannst du dir Funktion IntToHex benutzen.

KLS 5. Feb 2005 12:42

Re: String von Adresse lesen...
 
Nein, er möchte den Inhalt einer Speicheradresse ausgeben.

moritz 5. Feb 2005 12:50

Re: String von Adresse lesen...
 
Delphi-Quellcode:
function getStringFromMemory(location: integer):String;
var PString: ^String;
begin
  Integer(PString) := location;
  Result := PString^;
end;

procedure TForm1.Button1Click(Sender: TObject);
var vTest: String;
begin
  vTest := 'Hallo';
  ShowMessage(getStringFromMemory(Integer(@vTest)));
end;
(Kurz Zusammengeklickt)

FriFra 5. Feb 2005 13:29

Re: String von Adresse lesen...
 
Danke, Danke :-D ...

Manchmal hat man echt ein Brett vorm Kopf :wall:

Oxmyx 5. Feb 2005 13:38

Re: String von Adresse lesen...
 
Zitat:

Zitat von FriFra
Nein, das meinte ich nicht... Ich habe eine Variable vom Typ Word (eine Zahl ;) ) und will nun den entspr. Text von dieser Adresse aus dem Speicher lesen...

Nicht eher DWORD? Mit Word könntest du maximal die ersten 65 KB adressieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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 by Thomas Breitkreuz