![]() |
String > 255, oder anderer Datentyp
Hallo,
Ich hab folgendes Problem: Ich brauche einen String ohne Limit. Also das kann ich vergessen, zu klein
Code:
Das geht leider auch nicht, er erkennt TCaption nicht
procedure StrtoTZ(ZString : string; var zahl : TZahl);
Code:
Ich rufe die Procedure so auf
procedure StrtoTZ(ZString : TCaption; var zahl : TZahl);
Code:
Edit1.Text ist ja vom Typ TCaption...
StrtoTZ(Edit1.Text,zahl1);
|
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] |
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 |
Re: String > 255, oder anderer Datentyp
Man kann Properties leider nicht als Referenz übergeben :(
|
Re: String > 255, oder anderer Datentyp
Edit1.Text ist sicher kein AnsiString,
und sonst ist erg nicht vom Typ TZahl vielleicht klappt:
Delphi-Quellcode:
als 1. Parameter.
AnsiString(Edit1.Text)
|
Re: String > 255, oder anderer Datentyp
An dem asnistring kanns kaum liegen, denn das funktioniert:
Delphi-Quellcode:
ich würd einfach was anderes für TZahl verwenden...
procedure TForm1.Button1Click(Sender: TObject);
var hallo:AnsiString; begin hallo:=edit1.text; caption:=hallo; end; [edit]delphi code anstelle von code genommen[/edit] |
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:
Delphi-Quellcode:
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.
procedure StrtoTZ(ZString : string; var zahl : TZahl);
Gelöst habe ich es jetzt einfach mit einer Function, und zwar so:
Delphi-Quellcode:
function TZtoStr(zahl : TZahl):ansistring;
... Edit3.Text:=TZtoStr(erg); |
Re: String > 255, oder anderer Datentyp
Zitat:
|
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??? |
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 00:38 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