![]() |
String in Char....
Mein Code:
Delphi-Quellcode:
type TInfo = packed record lvfi: TLVFindInfo; Name : array [0..120] of char; end; var s:String;
Delphi-Quellcode:
info.Name := 'Desktop';
Das geht ohne Probleme aber NICHT
Delphi-Quellcode:
dann bekomme ich Meldung
info.Name := s;
Inkompatible Typen: 'Array' und 'String' Hat jemand eine Lösung?! |
Re: String in Char....
Wertzuweisungen müssen im konkrten Fall an die Array-Elemente gemacht werden und nicht an das Array an sich. Die Elemente sind aber strings. Und ein Array ist eben ein Array. :mrgreen:
Delphi-Quellcode:
P.S.: die Elemente sind ja gar keine Strings, sondern nur Char. :shock: Tja ein String ist eine art Array of char. :corky:
// das geht beides :
info.Name [1] := 'Desktop'; info.Name [120] := s; // so was aber nicht mehr : info.Name [121] := 'Desktop'; |
Re: String in Char....
Sorry! Aber
a) verstehe ich nicht genau was Du mir sagen möchtest und b) funktioniert auch
Delphi-Quellcode:
nicht...
info.Name[120] := s;
[Fehler] form3.pas(237): Inkompatible Typen: 'Char' und 'String' |
Re: String in Char....
Da muss sich die Frühschicht drum kümmern. :lol:
Soviel noch als Korrektur und Denkanstoß :
Delphi-Quellcode:
// das geht beides :
info.Name [1] := 'D'; info.Name [120] := s[1]; // so was aber nicht mehr : info.Name [121] := 'D'; |
Re: String in Char....
Guten Morgen,
so geht es:
Delphi-Quellcode:
Grüße vom marabu
StrPCopy(@Info.Name, s);
|
Re: String in Char....
Delphi unterscheidet zwischen den beiden Typen
PChar/PAnsiChar und String : Da ein Stringarray mit @ den Typ PAnsiChar (Pointer auf Char) hat, musst du dafür eben Fkt.n (z.B. StrPCopy) für diesen Typ verwenden. wie z.B. auch beim Großsetzen von Strings : Uppercase(Str: String) fkt. nicht, aber StrUpper(Str: PAnsiChar) funktioniert !! |
Re: String in Char....
Hallo,
muss der array als char sein im Record? Wenn nicht würde ich in als string[120] schreiben.
Delphi-Quellcode:
Dann ist auch die
type
TInfo = packed record lvfi: TLVFindInfo; Name: string[120]; end;
Delphi-Quellcode:
kein Problem.
info.Name:= s;
Bis bald Chemiker |
Re: String in Char....
Zitat:
|
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