AGB  ·  Datenschutz  ·  Impressum  







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

"Pos"-Befehl Fehler beim Auslesen

Ein Thema von gizzy · begonnen am 8. Feb 2008 · letzter Beitrag vom 8. Feb 2008
Antwort Antwort
Benutzerbild von gizzy
gizzy

Registriert seit: 3. Jun 2007
59 Beiträge
 
Delphi 2007 Enterprise
 
#1

"Pos"-Befehl Fehler beim Auslesen

  Alt 8. Feb 2008, 17:30
Beim Auslesen von vorhandenen Strings die durch eine Datei in mein Array eingelesen werden soll, kommen falsche Strings am Ende raus:

(Ohne Array und bla bla)

Delphi-Quellcode:
Fullname:='text - beispiel ~ wort'; //Der String der zerlegt werden soll!

Fulllen:=length(Fullname);
Pos1:=pos('-',Fullname);
Pos2:=pos('~',Fullname);

nach1:=Pos1 - 2;
vor2 :=Pos1 + 1;
nach2:=Pos2 - 2;
vor3 :=Pos2 + 1;

Intr:= Copy(Fullname,0,nach1);
tit:= Copy(Fullname,vor2,nach2);
Alb := Copy(Fullname,vor3,fulllen);
Als ergebnis gibt es für
Intr: "text"
tit: " beispiel ~ wor"
Alb: " wort"

Obowhl eigentlich das rauskommen sollte:
Intr:"text"
tit: "beispiel"
Alb: "wort"

Wo allerdings der fehler liegen "sollte", weiß ich nicht. Bei "tit" haben die Variablen vor2 und nach2 die Richtigen Zeichenpos. aber trotzdem nimmt copy mehr Zeichen raus.

Ich hoffe, dass jemand weiterhelfen kann :)
Viele Grüße
gizzy
David
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

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

Re: "Pos"-Befehl Fehler beim Auslesen

  Alt 8. Feb 2008, 17:34
copy hat ja auch nicht die index "von-bis", sondern "von-Anzahl"
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von gizzy
gizzy

Registriert seit: 3. Jun 2007
59 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: "Pos"-Befehl Fehler beim Auslesen

  Alt 8. Feb 2008, 17:38
Zitat von sirius:
copy hat ja auch nicht die index "von-bis", sondern "von-Anzahl"
gut zu wissen Dann kann es auch schlecht funktionieren!

Gibt es so etwas wie ich es brauche ?
David
  Mit Zitat antworten Zitat
Horst_

Registriert seit: 22. Jul 2004
Ort: Münster Osnabrück
116 Beiträge
 
#4

Re: "Pos"-Befehl Fehler beim Auslesen

  Alt 8. Feb 2008, 17:39
Hallo,

Copy funktioniert nicht ala String Von,bis sondern
string von, wieviele Zeichen
Zitat:
siehe Hilfe:
Copy Routine

Gibt einen Teilstring eines Strings oder ein Segment eines dynamischen Arrays zurück.

Unit
System

Syntax
function Copy(S: string; Index: Integer; Count: Integer): string;

Beschreibung
S ist ein Ausdruck des Typs String oder dynamisches Array. Index und Count sind Integer-Ausdrücke. Copy gibt einen Teilstring oder ein Teilarray zurück, das Count Zeichen oder Elemente ab S[Index] enthält. Der Teilsstring oder das Teilarray ist eine eindeutige Kopie (d.h., Speicher wird nicht gemeinsam mit S genutzt, obwohl Zeiger- oder Objekt-Elemente des Arrays nicht kopiert werden).

Ist Index größer als die Länge von S, gibt Copy einen leeren String oder ein leeres Array zurück.

Gibt Count mehr Zeichen oder Array-Elemente an, als verfügbar sind, werden nur die Zeichen oder Elemente von S[Index] bis zum Ende von S zurückgegeben.

Hinweis:
Wenn S ein dynamisches Array ist, brauchen Sie die Parameter Index und Count nicht anzugeben. Copy kopiert dann das gesamte Array.
Also
tit:= Copy(Fullname,vor2,nach2-vor2+1); Gruß Horst
  Mit Zitat antworten Zitat
Benutzerbild von gizzy
gizzy

Registriert seit: 3. Jun 2007
59 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: "Pos"-Befehl Fehler beim Auslesen

  Alt 8. Feb 2008, 17:43
Zitat von Horst_:
Hallo,

Copy funktioniert nicht ala String Von,bis sondern
string von, wieviele Zeichen

Also
tit:= Copy(Fullname,vor2,nach2-vor2+1); Gruß Horst
Danke! Genau was ich brauche. Mathematik for the win!
David
  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 18:29 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