Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String > 255, oder anderer Datentyp (https://www.delphipraxis.net/28633-string-255-oder-anderer-datentyp.html)

Patrick 27. Aug 2004 10:04


String > 255, oder anderer Datentyp
 
Hallo,

Ich hab folgendes Problem:
Ich brauche einen String ohne Limit.

Also das kann ich vergessen, zu klein
Code:
procedure StrtoTZ(ZString : string; var zahl : TZahl);
Das geht leider auch nicht, er erkennt TCaption nicht
Code:
procedure StrtoTZ(ZString : TCaption; var zahl : TZahl);
Ich rufe die Procedure so auf
Code:
StrtoTZ(Edit1.Text,zahl1);
Edit1.Text ist ja vom Typ TCaption...

XeRo 27. Aug 2004 10:07

Re: String > 255, oder anderer Datentyp
 
Versuchs mal mit einem AnsiString; :lol:

[Edit]Scheinbar gibt es den longstring nicht :gruebel: woher hab ich das dann?[/Edit]

Patrick 27. Aug 2004 10:20

Re: String > 255, oder anderer Datentyp
 
Das ganze kann funktionieren, aber ich hab da noch ein anderes Problem

Wenn ich das ganze anders herum mache gibt's diese Fehlermeldung:
"Types of actual and formal var parameters must be identical"

Code:
procedure TZtoStr(var ZString : ansistring; var zahl : TZahl);
...
TZtoStr(Edit3.Text,erg); <-- in dieser Zeile

Shaman 27. Aug 2004 10:22

Re: String > 255, oder anderer Datentyp
 
Man kann Properties leider nicht als Referenz übergeben :(

mytar 27. Aug 2004 10:24

Re: String > 255, oder anderer Datentyp
 
Edit1.Text ist sicher kein AnsiString,
und sonst ist erg nicht vom Typ TZahl

vielleicht klappt:

Delphi-Quellcode:
AnsiString(Edit1.Text)
als 1. Parameter.

XeRo 27. Aug 2004 10:30

Re: String > 255, oder anderer Datentyp
 
An dem asnistring kanns kaum liegen, denn das funktioniert:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 hallo:AnsiString;
begin
 hallo:=edit1.text;
 caption:=hallo;
end;
ich würd einfach was anderes für TZahl verwenden...


[edit]delphi code anstelle von code genommen[/edit]

Patrick 27. Aug 2004 10:48

Re: String > 255, oder anderer Datentyp
 
Also ein bissl von jedem klappt...

Der AnsiString ist scheinbar ersteinmal lang genug...

Am "erg" hat's nicht gelegen, das ist genz sicher vom Typ TZahl!

Zitat:

Man kann Properties leider nicht als Referenz übergeben
Ich denke das war's.
Delphi-Quellcode:
procedure StrtoTZ(ZString : string; var zahl : TZahl);
Die Fehlermeldung kahm nämlich schon, als ich hier vor den "ZString" ein var gesetzt habe, nur hier konnte ich es wegmachen, was andersherum (TZtoStr) nicht möglich war, sopnst hätte es nicht funktioniert.

Gelöst habe ich es jetzt einfach mit einer Function, und zwar so:
Delphi-Quellcode:
function TZtoStr(zahl : TZahl):ansistring;
...
Edit3.Text:=TZtoStr(erg);

Luckie 27. Aug 2004 11:14

Re: String > 255, oder anderer Datentyp
 
Zitat:

Zitat von Patrick
Der AnsiString ist scheinbar ersteinmal lang genug...

Die theoretische Länge von 2 GB sollte auch reichen oder?

Patrick 27. Aug 2004 11:31

Re: String > 255, oder anderer Datentyp
 
Ich denke, das reicht gerade so :wink:

Aber was ist denn jetzt eigentlich der Unterschied zwischen String und AnsiString???

scp 27. Aug 2004 11:39

Re: String > 255, oder anderer Datentyp
 
String kann sich von einer Delphi-Version zur anderen ändern, ist also ein sogenannter generischer Typenbezeichner (bzw. funktioniert so). Bei älteren Versionen war String noch identisch zu ShortString, in Delphi 7 sollte er aber zu AnsiString identisch sein, wenn nicht der entsprechende Kompilerschalter gesetzt ist.
Alles nachzulesen in der Delphi-Hilfe unter "String-Typen".


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.
Seite 1 von 2  1 2      

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