AGB  ·  Datenschutz  ·  Impressum  







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

Zeichenkette zerlegen...

Ein Thema von delphinia · begonnen am 26. Apr 2011 · letzter Beitrag vom 27. Apr 2011
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: Zeichenkette zerlegen...

  Alt 26. Apr 2011, 13:06
In dem Screenshot sehe ich etwas von Klassenmethoden, also dürfte die Delphi 7-Angabe auf Torry wohl auch falsch sein. Zumindest den Variants-Fehler bekäme man wohl weg, wenn man im Code den Unit-Namen austauscht, sofern das mit dem Alias tatsächlich nicht funktioniert.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: Zeichenkette zerlegen...

  Alt 26. Apr 2011, 13:17
habe VARIANTS gegen SYSTEM getauscht - geht (!?)

Aber nun ist wieder etwas was nicht vorhanden "VarToWideStr" das habe ich nicht einmal hier im Forum gefunden!
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zeichenkette zerlegen...

  Alt 26. Apr 2011, 13:26
Das macht aus einem Variant einen WideString.

Sollte sich durch eine einfache Zuweisung ersetzen lassen.
S := V; (jenachdem wie der Aufruf genau aussieht, da ich die Codestelle jetzt nicht direkt kenn)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#24

AW: Zeichenkette zerlegen...

  Alt 26. Apr 2011, 13:28
Delphi-Quellcode:
procedure TlkJSONstring.SetValue(const AValue: Variant);
begin
  FValue := VarToWideStr(AValue);
end;
das der Code
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Zeichenkette zerlegen...

  Alt 26. Apr 2011, 13:30
Aus der Variants.pas von Delphi 2007 (das Zitat ist hoffentlich erlaubt):
Zitat:
Delphi-Quellcode:
function VarToWideStr(const V: Variant): WideString;
begin
  Result := VarToWideStrDef(V, NullAsStringValue);
end;

function VarToWideStrDef(const V: Variant; const ADefault: WideString): WideString;
begin
  if not VarIsNull(V) then
    Result := V
  else
    Result := ADefault;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zeichenkette zerlegen...

  Alt 26. Apr 2011, 13:38
Wenn es VarToWideStr nicht gibt, dann wird vermutlich auch VarToWideStrDef nicht vorhanden sein.

Eventuell liegen die im D5 auch nur woanders.
Delphi-Quellcode:
procedure TlkJSONstring.SetValue(const AValue: Variant);
begin
  FValue := AValue; // Delphi sollte das auch automatisch umwandeln können
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Apr 2011 um 13:48 Uhr)
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#27

AW: Zeichenkette zerlegen...

  Alt 26. Apr 2011, 13:45
Offtopic: sehe gerade im Memberbereich von "embarcadero.com" das ich sogar 2 Lizenzen für "Turbo Delphi 2006 Explorer Edition" - tzzz *confus*

öhm ja also habe nun auch das von Dir ersetzt...

Delphi-Quellcode:
procedure TlkJSONstring.SetValue(const AValue: Variant);
begin
  FValue := AValue;
end;
aber es wird ein Fass ohne Bode! wir sind gerade bei Zeile 737 von fast 2500 und schon das nächste...

Code:
VarIsNumeric
was mein D5 nicht kennt!

Habe mal nun so durch gescrollt... das wird auch noch weiter so gehen "strSpecialChars" - dann versuch ich mein Glück mal mit anderen Parsern...

DANKE EUCH SOWEIT...
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zeichenkette zerlegen...

  Alt 26. Apr 2011, 13:53
VarIsNumeric...

Ja, wie der Name schon sagt ... einfach prüfen, ob im Variant ein nummerischer Wert drin steckt

Delphi-Quellcode:
Result := TryStrToFloat(String(AValue));

// aber TryStrToFloat kennt dein Delphi wohl nicht

var
  E: Integer;
  F: Single;
Val(String(AValue), F, E);
Result := E = 0;
[edit]
halt nee, String() könnte auch noch eine Exception auslösen

Delphi-Quellcode:
try
  StrToFloat(String(AValue));
  Result := True;
except
  Result := False;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Apr 2011 um 13:55 Uhr)
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Zeichenkette zerlegen...

  Alt 26. Apr 2011, 14:39
ich habe mit mit dem parser "uJSON" beschäftigt musste zwar auch da eine oder andere.... Aber habe es im Inet gefunden was fehlte bzw verändert und er scheint zu laufen, da ich es nur zum Lesen brauche hoffe och das er mich nicht im Stich lässt!


Noch einmal DANKE an Euch alle die hier echt super geholfen haben!
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#30

AW: Zeichenkette zerlegen...

  Alt 26. Apr 2011, 14:44
Die Frage ist, ob es nicht anders einfacher geht, weil eigentlich brauchst Du doch keinen kompletten Parser.

Wenn Du irgend eine regex Bibliothek findest, die unter Delphi5 läuft, dann sollte es kein grosses Problem sein, dieses eine spezielle Rückgabeformat, das Du hast, mittels regex in ihre Bestandteile zu zerlegen. Ist sicher einfacher, als ein umfangreiches Tool an D5 anzupassen, das zwar viel mehr könnte, aber von dem Du eigentlich nicht viel brauchst.


edit: Der Tipp kam offenbar zu spät - vielleicht umso besser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 16:18 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