AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

AnsiString mit fester Länge

Ein Thema von GPRSNerd · begonnen am 4. Feb 2009 · letzter Beitrag vom 20. Jul 2009
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#1

AnsiString mit fester Länge

  Alt 4. Feb 2009, 14:44
Hi,

weiss jemand, wie ich einen AnsiString fester Länge definiere? Also das AnsiString-Pendant zu String[10]?

Versuche ich AnsiString[10] so gibts ne Compiler-Fehlermeldung unter Delphi 2007:
[DCC Fehler] dEXIF.pas(94): E2029 ';' erwartet, aber '[' gefunden

Danke,
Stefan

PS: Ich versuche gerade die dExif-Units von McGuirez so umzuschreiben, dass sie auch unter Delphi 2009 funktionieren.
Hat das vielleicht schon jemand gemacht?
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: AnsiString mit fester Länge

  Alt 4. Feb 2009, 14:53
Shortstring[10] vielleicht
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#3

Re: AnsiString mit fester Länge

  Alt 4. Feb 2009, 14:57
String[10] ist ein AnsiString ... genauer gesagt ein ShortString mit maximal 10 Zeichen (also 11 Byte).
Dieses sollte sich auch unter D2009 nicht geändert haben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: AnsiString mit fester Länge

  Alt 4. Feb 2009, 15:06
Danke himitsu für die Bestätigung, ich hatte so etwas von Andreas H. irgendwo gelesen, aber den Artikel nicht mehr gefunden.
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: AnsiString mit fester Länge

  Alt 5. Feb 2009, 10:57
Bis auf ein paar hundert Warnungen wegen impliziter String-Umwandlungen läuft die dEXIF-Komponente, soweit ich das testen konnte, auch unter Delphi 2009 im "ANSIModus".

Danke für die Hilfe,
Stefan
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#6

Re: AnsiString mit fester Länge

  Alt 5. Feb 2009, 11:04
du kannst je die impliziten Stringumwandlungen in Explizite ändern, dann gibt's keine Warnungen mehr
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: AnsiString mit fester Länge

  Alt 5. Feb 2009, 11:09
Ich weiss. Die "bösen Warnungen" wegen potentiellem Datenverlust bei der Konvertierung von String->Ansi habe ich größtenteils so erledigt.
Die meisten übriggebliebenen Warnungen bei Ansi->String kommen wegen Benutzung von Funktionen wie pos, trim floattostr, inttostr etc.
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#8

Re: AnsiString mit fester Länge

  Alt 5. Feb 2009, 11:27
dort kannst ja notfalls die Parameter nach String casten und das Funktionsergenis dann jeweils nach AnsiString oder WideString (jenachdem auf was das Ergebnis zugewiesen wird).

da paßt es sich dann je nach Delphi an
Code:
Var A, Ar: AnsiString;
    W, Wr: WideString;
    S, Sr: String;

                              // Ansi-Delphi Unicode-Delphi
Ar := AnsiString(Trim(String(A))); // A>A>A A>W>A also egal
Ar := AnsiString(Trim(String(W))); // [color=#ff0000]W>A>A[/color] [color=#ff0000]W>W>A[/color] gewollter Datenverlust
Ar := AnsiString(Trim(S));         // A>A>A [color=#ff0000]W>W>A[/color] in Ar paßt eh nicht mehr rein
Wr := WideString(Trim(String(A))); // A>W>W A>A>W mehr Platz, als nötig
Wr := WideString(Trim(String(W))); // [color=#ff0000]W>A>W[/color] W>W>W Ansi: selber Schuld ***
Wr := WideString(Trim(S));         // A>A>W A>W>W hat och genug Platz
Sr := Trim(String(A));             // A>A>A A>W>W Platz genug
Sr := Trim(String(W));             // [color=#ff0000]W>A>A[/color] W>W>W Ansi: hätt in Sr eh nich reingepaßt
Sr := Trim(S);                     // A>A>A W>W>W alles egal


*** wer in 'nem Ansi-Delphi einen UnicodeString mit den Ansi-Funktionen bearbeitet,
hat's nich anders verdiehnt :p
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
542 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: AnsiString mit fester Länge

  Alt 11. Apr 2009, 14:20
Hallo Stefan,

rein zufällig bin ich auch gerade daran, bei der Anpassung eines Projektes von D7 nach D2009. Hast du was dagegen, mir die Früchte dein Umwandlung zukommen zu lassen?
Was ich auch gern mal wüsste, ist, ob es etwas gibt, um EXIF-Daten völlig neu zu erstellen, also in JPG-Dateien, die (noch) keine EXIF-Daten haben.

Gruß

Benmik
  Mit Zitat antworten Zitat
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: AnsiString mit fester Länge

  Alt 11. Apr 2009, 22:10
Jau, kein Problem. Sind mittlerweile auch ausgiebig unter D2009 getestet und funktionieren problemlos.

Da der Autor der dEXIF-Komponenten sich auch auf mehrfache Mails nicht meldet, hat er bestimmt auch nix dagegen, wenn ich die angepassten Sourcen hier anhänge.
Mache ich morgen, wenn ich wieder an meinen Server komme.
Stefan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:08 Uhr.
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