![]() |
Variablen Umwandlung
Hallo,
ich wandle einen string durch folgenden code in einen LongInt um.
Delphi-Quellcode:
Wie wandel ich den LongInt den ich nun bekomme wieder so um das ich einen string mit dem inhalt 'destination' bekomme?
LongInt(PChar('destination'));
MfG - Ghost007 |
Re: Variablen Umwandlung
Was soll den bei der Umwandlung eines Strings nach LongInt rauskommen?
|
Re: Variablen Umwandlung
aaaaaaaaaaaaaaaalso, um solchen fragen aus dem weg zu gehen ^^
Aus LongInt sollte ein integer wert rauskommen. Wenn ich den nun per IntToStr umwandeln lasse, dann bekomm ich zahlen ... logischerweise. Ich will aber das ursprüngliche "wort" haben. MfG - Ghost007 |
Re: Variablen Umwandlung
Das beantwortet meine Frage nicht. Wie soll aus dem string ein Integer (Zahl) werden.
|
Re: Variablen Umwandlung
Zitat:
Was mach ich denn falsch am umwandlen in einen integer? MfG - Ghost007 |
Re: Variablen Umwandlung
Welchen Wert hat den 'destination'?
|
Re: Variablen Umwandlung
das is der string ^^ da er in ' steht
|
Re: Variablen Umwandlung
Aber ein Integer ist eine (Ganz)Zahl und keine Zeichenkette. Welcher Ganzzahl entspricht den 'destination'?
|
Re: Variablen Umwandlung
hm ... gute frage o.O ich nehm ma an das es keine gibt?
MfG - Ghost007 |
Re: Variablen Umwandlung
Genau. Was hast du eigentlich vor?
|
Re: Variablen Umwandlung
Ich will per PostMessage einen string verschicken. Zu dem thema hab ich auch was hier im forum gefunden und derjenige meinte, dass das mit LongInt(PChar(string)) als lParam/wParam des PostMessage geht. Er versendet auch was aber ich muss das dann irgendwie wieder in den string zurückwandeln.
MfG - Ghost007 |
Re: Variablen Umwandlung
du weisst aber schon, dass der wert 'destination' die grenzen eines longints sprengt und du somit nur die halben informationen zur verfügung hast ... beim zurückverwandeln, wie auch immer, kann somit nicht mehr das richtige rauskommen.
daher die frage, was willst du damit bezwecken? |
Re: Variablen Umwandlung
Zitat:
MfG - Ghost007 |
Re: Variablen Umwandlung
Zitat:
|
Re: Variablen Umwandlung
Zitat:
d.h. der param ist dann ein pointer auf die addresse wo der string gespeichert ist? Wenn ja, dann geht das ja nur programm intern, oder? Wie bekomm ich dann den string von programm A nach programm B ? MfG - Ghost007 |
Re: Variablen Umwandlung
WM_COPYDATA
|
Re: Variablen Umwandlung
Zitat:
Zitat:
Zitat:
|
Re: Variablen Umwandlung
So,
ich hab mir ma das WM_COPYDATA angeschaut, und auch einen ![]()
Delphi-Quellcode:
tmp ist das handle wo die data hingeschickt werden soll. Jedoch bekomm ich bei dem LongInt(@Data) einen error "incompatible types interger and pointer" :(
procedure SendName(name:string);
var Data: TCopyDataStruct; p: PChar; begin p:=PChar(name); with Data do begin dwData:=0; cbData:=Length(p)+1; lpData:=p; end; SendMessage(tmp,WM_COPYDATA,nil,LongInt(@Data)); end; MfG - Ghost007 |
Re: Variablen Umwandlung
zum Beispiel so:
Delphi-Quellcode:
const
WM_MYSTRINGTRANSFER = WM_USER + 151; type TForm1 = class(TForm) private dwAtom : DWORD; procedure SendString(s: String); procedure ReceiveProcedure(var aMSG: TMessage); message WM_MYSTRINGTRANSFER; end; {...} procedure TForm1.SendString(s: String); begin dwAtom := GlobalAddAtom(PChar(s)); SendMessage(self.Handle, WM_MYSTRINGTRANSFER, 0, dwAtom); end; procedure TForm1.ReceiveProcedure(var aMSG: TMessage); var pFileName : PChar; dwLen : DWORD; begin dwLen := MAX_PATH + 1; pFileName := StrAlloc(dwLen); try GlobalGetAtomName(aMsg.lParam, pFileName, dwLen); showmessage(pFileName); GlobalDeleteAtom(aMsg.lParam); finally StrDispose(pFileName); end; end; |
Re: Variablen Umwandlung
Ok,
ich muss zugeben ziemlich cool :D Das funktionier 1a. Jedoch würd mich noch interessieren was bei meinem post #18 falsch war. MfG - Ghost007 |
Re: Variablen Umwandlung
Zitat:
Also statt NIL -> 0 |
Re: Variablen Umwandlung
Zitat:
Sockets NamedPipe Mailslot SendMessage |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 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