[Pascal] String zerschneiden?
UncleFucka 06.04.2007 -
17:19 3449
13
UncleFucka
-
|
sers da ich brutalerweise von C++ in die Pascalwelt gestoßen wurde, hab ich noch kleine probleme mit der syntax. kann mir vielleicht bitte jemand verraten wie ich einen string zerschneiden kann? also zb ich hab: 'Apfel' und will daraus 'pfel' schneiden. wie mach ich das?? (pls die exakte syntax, sonst nützts mir nix  ) tia, mfG
|
fresserettich
Here to stay
|
ich bin leider auch schon zulange von pascal weg aber ich glaube du kannst schön wie bei einem array mit [] auf die einzelnen chars zugreifen hab jetzt nicht mal einen compiler für pascal also einfach ein bisschen selbst probieren per google auf die schnelle gefunden: http://www.hadels.com/programmit/TP5.html
|
UncleFucka
-
|
ja, aber das einzelne zugreifen bringt mir net wirki was, (ausser es gibt in pascal keine andere möglichkeit  ) weil i das ganze in eine rekursion einbaun will und eben immer den string ohne erstes zeichen weitergeben will. // danke! mit solchen dingern kann ich arbeiten  thx, mfG
|
rettich
Legendwaffle, waffle!
|
kommt drauf an, wie "pfel" definiert ist. sind die linkesten zwei chars wegzuschneiden, ist "pfel" ein von dir definierter substring, sind "pfel" die rechtesten vier des chars,...? http://www.geocities.com/SiliconVal...s/pasl1007.htmlhier steht einiges über pascal und string-manipulation.
|
semteX
liebt die große KI
|
|
UncleFucka
-
|
ja ich verfluche pascal wirklich schon. das is ein zustand 
|
UncleFucka
-
|
buhuu, ich versteh net was da jetzt falsch is  : IF (p[2] = s[1]) THEN BEGIN
p := Delete(p, 1, 2);
s := Delete(s, 1, 1);
recmatch(p, s);
END
beim p := Delete(...) sagt er mir beim compilen Error in expression. (graffl das recmatch(Delete(..), Delete(...)) net funzt  )
|
3mind
mimimi
|
input := 'Apfel';
Delete(input, 1, 1);
ich weiss gar nicht was alle immer gegen pascal haben, ist doch a laessige sprache. zumindest lernst es so am besten, auch wenns kaum mehr in der berufswelt zum einsatz kommt. gruesse aus princeton.
|
3mind
mimimi
|
buhuu, ich versteh net was da jetzt falsch is :
IF (p[2] = s[1]) THEN BEGIN
p := Delete(p, 1, 2);
s := Delete(s, 1, 1);
recmatch(p, s);
END
beim p := Delete(...) sagt er mir beim compilen Error in expression.
(graffl das recmatch(Delete(..), Delete(...)) net funzt ) lass mal die zuweisungen weg ( p := , s :=), die werden eh implizit ausgefuehrt. was sagt er dann?
|
semteX
liebt die große KI
|
input := 'Apfel';
Delete(input, 1, 1);
ich weiss gar nicht was alle immer gegen pascal haben, ist doch a laessige sprache. zumindest lernst es so am besten, auch wenns kaum mehr in der berufswelt zum einsatz kommt.
gruesse aus princeton.
zu lernen gut ja... aber einfach alles so umständlich.. i bin eh ka fan von "anfangen mit java"
|
UncleFucka
-
|
und wieso sudert er jetzt beim recmatch(p, s);
wieder das er ein ' := ' haben will zwischen recmatch und den vars? omg //ja hab das p := davor wegglöscht, jetzt macht ers, aber das obige problem hab i.. das recmatch is a function die zwei strings p, und s kriegt.
|
3mind
mimimi
|
also von recmatch() hab ich ohnehin noch nie was gehoert. was soll denn das machen?
|
UncleFucka
-
|
lol  das is ja mei eigene funktion, und i kanns deshalb net einfach so aufrufen weils an boolwert zruck gibt (ich depp ich  )
|
3mind
mimimi
|
no comment  offtopic: ist dein name eigentlich zufaellig manu(el) ? \\ hat sich erledigt
Bearbeitet von 3mind am 06.04.2007, 18:23
|