AGB  ·  Datenschutz  ·  Impressum  







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

copy pos Problem

Ein Thema von Micha · begonnen am 16. Jun 2004 · letzter Beitrag vom 16. Jun 2004
Antwort Antwort
Micha

Registriert seit: 21. Jul 2003
Ort: Neumarkt
263 Beiträge
 
#1

copy pos Problem

  Alt 16. Jun 2004, 09:21
Guten Morgen,

Ich habe mir hier im Forum nachfolgenden Code zusammengebastelt und wollte jetzt wissen ob der so passt oder ob es vielleicht einfacher geht.

Erstmal:
Am Anfang steht eine Textdatei mit folgendem Beispielinhalt: 6,80;2,40
Am Ende soll der String so aussehen: Muster AG 6,80 (2,40%) +++ Parkett +++


Delphi-Quellcode:
procedure Tfrm_main.btn_txt_ladenClick(Sender: TObject);
var
  werte : string;
  s: String;
  prozwert: String;
  n: Integer;
  pagwert: string;
Begin
// Werte werden von einem Textfile gezogen
// Textfile enthält folgende Daten: 6,80;2,34
// zur Info: Datei enthält Börsenkurs;Veränderung in Prozent

 List:= TStringList.Create;
 List.LoadFromFile(edt_filename.text);
 werte := List.text;

 // Läd Prozentwert
   prozwert:= werte;
   prozwert:=Copy(prozwert, Pos(';', prozwert)+1, Length(prozwert));

  s := ';' + werte + ';';
  n := 1;
  while true do
  begin
    pagwert := Copy(s,PosEx(';',s,n)+1,PosEx(';',s,n + 1) - PosEx(';',s,n) - 1);
    if pagwert = 'then exit;
    n := PosEx(';',s,PosEx(';',s,n)+1) + 2;

// Ausgabe in einem Edit-Feld
    edt_ticker0.text := 'Muster AG ' + pagwert + ' (' + prozwert + '%) +++ PARKETT +++ ';
  end;
end;
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: copy pos Problem

  Alt 16. Jun 2004, 09:34
Hallo

prozwert:=Copy(prozwert, Pos(';', prozwert)+1, Length(prozwert)); wird so nicht funktionieren, da prozwert, ja noch ein leerer, bzw nicht initialiserter String ist, du musst also entweder 3 nehmen, oder wenn die Nachkommastellen nicht immer gleich sind, nach dem nächsten Trennzeichen suchen, und die länge erst ausrechnen.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Micha

Registriert seit: 21. Jul 2003
Ort: Neumarkt
263 Beiträge
 
#3

Re: copy pos Problem

  Alt 16. Jun 2004, 10:10
Ob die Stellen-Anzahl immer gleich lang ist kann ich leider nicht sicher sagen.
Deswegen würde ich die Lösung bevorzugen, nach dem nächsten Trennzeichen zu suchen.

Aber nach dem zweiten Wert z. B. 2,80 ist die Datei zu Ende.

Wie funktioniert das dann?
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#4

Re: copy pos Problem

  Alt 16. Jun 2004, 10:12
mit einen tregex geht das viel leichter und mit weniger code !

http://regexpstudio.com/TRegExpr/TRegExpr.html

gruss
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#5

Re: copy pos Problem

  Alt 16. Jun 2004, 12:31
Warum lässt du das nicht automatisch von der stringliste erledigen?

Man kann den 'NameValueSeperator' (oder wie das heisst) auf ';' setzen und kann dann leicht 'names[i]' und 'values[i]' auf die items zu greifen.

sparst du das nervige geparse
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:58 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