Auslesen einer zeichenfolge aus einem string

technobabe

Grünschnabel
Hi, ich haette da eine frage,

ich versuche grade ein programm in pascal zu schreiben, und nun habe ich folgendes problem, ich habe einen text, den ich n einer seperaten txt gespeichert ahbe udn diesen text lade ich nun zeile für zeile in eine variable, diese variable ist vom typ string, um disen text nun genauer zu analysieren, um einige daten auslesen zu lassen etc, muss ich in einigen zeilen zahlen auslesen, ich habe aber keine vorstellung wie ich aus der variable 's' zb die eine zeile beinhaltet wie zb
wie ich nun dort nur genau die 6400 auslese und nicht das wort eisen noch, hinzu kommt, das die zeile die ich auslesen will in jeder txt an einer anderen stelle ist, sprich andere zeile ist der wortlaut ist immer der gleiche,

sprich ich brauche irgendwas das ich immer zu der "eisen" zeile finde und dann eine methode wenn das programm diese zeile gefunden hat dann etwas was sie nur diese zahl auslesen lässt.

wie ich nur an die zahl komme haette ich an einen string mit auf 4 begrenzter zeichenanzahl gedacht?



sind meine denkansätze nachvollziehbar? klingt es wirgendwo logisch?

udn das wichtigste gibt es im pascal ne möglichkeit wie ich das realisieren könnte?


mfg technobabe
 
hmm,

wo ist denn dein Problem ? Schonmal mit POS gearbeitet ? Wenn du einen String hast machste erstmal
Code:
h =  POS('EISEN',stringvar)
ist h > 0 steht in dem String Eisen, naja dann suchste NACH
Code:
 xyz = POS(' ',stringvar)
und weisst wo das Leerzeichen ist, naja und dann bekommst du mit
Code:
  zahl = StrToInt(copy(stringvar,1,xyz))
die Zahl raus.
 
ok werde das mal probieren danke schonmal, udn nein mit pos hab ich noch nicht gearbeitet, dachte mri schon dases irgend nen befehl dafür gibt, aber bin absolut nicht drauf gekommen, udn war schon voll am verzweifeln udn hab die hilfe durchgesucht udn alles aber muss das dann wohl übersehen haben :)
 
Re: hmm,

Original geschrieben von JoelH
naja und dann bekommst du mit
Code:
  zahl = StrToInt(copy(stringvar,1,xyz))
die Zahl raus.

ehm dsa ist doch delphi oder? denn im pascal kann ich einen solchen befehl nicht finden, gibt es da so einen ähnlichen?!

mfg technobabe
 
hmm,

naja ist Delphi Objektpascal, da hast du recht.

Laut meinem TurboPacal7.0 Buch musst du wohl VAL benutzen also

Code:
 VAL(copy(stringvar,1,xyz),zahl,kontrolle);

kontrolle ist 0 wenn die übernahme geklappt hat ansonsten zeigt es auf die Stelle des Strings wo ein illegales Zeichen vorkommt.
 
Zurück