URL: https://www.overclockers.at/coding-stuff/pascal_frage_integers_in_strings_umwandeln_19172/page_1 - zur Vollversion wechseln!
Hallo,
ich bräuchte für eine procedure einen String den ich übergebe. Der String soll teilweise aus einem fixen Text und zum anderen Teil aus einem Integer bestehen.
Das Problem ('irgendein Text' + Integer) funktioniert nicht, genausowenig wie ('irgendein Text', Integer) (weil er davon ausgeht, dass Integer ein eigener Paramenter ist).
In Delphi gibt es InttoStr, dass es aber in Turbo Pascal nicht gibt
Das einzige was ich gefunden hab wäre Str, das ist aber mühsam...
Also: Wie hängt ihr eure Integers an Strings an?
Danke!
Lactobacillus
so gehts auf jeden fall, aber was is daran mühsam?
Zitatvar
i:integer;
s:string;
begin
i:=500;
s:=str(i)+' posts braucht man um den custom title zu ändern';
deineprocedure(s);
end.
Wenn es so gehen würde wäre es eh toll, aber wenn ich dein Beispiel probiere spuckt er mir Error in expression. aus und er meint, dass ich das ganze mit Str(Integer, String) machen muß und das ist mühsam, wenn man jedes mal
verwenden muß. Am schönsten wäre natürlich soetwas wie Prozedur('Anzahl der Titel um den Custom Title zu ändern = ' + Str(aInteger)); aber das spielt es leider nichtZitatvar
aInteger : Integer;
aString: String;
(...)
aInteger := 500;
Str(aInteger, aString);
Prozedur('Anzahl der Titel um den Custom Title zu ändern = ' + aString);
hm? wo ist das problem?
wenns keine funktion dafür gibt, schreib ich eine mit dem str-aufruf drinnen
Zitatfunction str2(i:integer):string;
begin
str(i,str2);
end;
thx, Problem gelöst
np
noli
Ich habe noch eine Frage:
Gibt es einen Grund, warum
als ReturnCode 2 und nicht 1, wie es doch eigentlich sein sollte (es sollte 0 zurückliefern, wenn die Umwandlung problemlos abgelaufen ist, ansonsten die Position im String, wo der Fehler aufgetreten ist), zurückliefert?!Zitatvar
aInteger, ReturnCode : Integer;
begin;
Val('+', aInteger, ReturnCode);
Writeln(ReturnCode);
end;
Ah...ich hab's durchschaut: er behandelt das '+' als Vorzeichen
turbo pascal roolez die erste programmiersprache die ich gelernt habe
was soll das programm im endeffekt denn eigentlich können bzw wieso machst du TP und nicht delphi?
Das ganze ist irgendwie eine Designstudie (desshalb in TP) eines Parsers, wenn es einmal ausgereift ist, dann wird das ganze in ISO C from the scratch erstellt, aber ich bin weit davon entfernt (momentan kann das Ding aber z.B. schon, wenn ich ihm einen String, wie z.B. "1000-24+14" hinknalle es ausrechnen)
darf ich dir SML empfehlen:
das kann das ohne probleme lösen.
ich hab es bisher nur so programmiert dass er
sub(add(sub(3,4),4),7);
sub= '-'
add= '+'
das konnte er ohne fehler die klammern auflösen bzw hab ich auch noch "not" eingebaut
dass man anstatt add und sub "+" bzw "-" schreiben kann sollte eigentlich kein problem sein das zu programmieren
das IST der tu-graz arbeitet an so einem programm in java bzw sml schau mal auf http://www.ist.tu-graz.ac.at ->research->isabelle (hat unser tutor gemeint dass man es dort findet)
das projekt hat als ziel dass man komplizierte rechnungen mit allen zwischenschritten darstellen kann also perfekt für schummler in der unterstufe
Thx, ich werde es mir anschauen, aber ich glaub ich werde bei meinem TP bleiben, da sondst irgendwie der do-it-yourself-Effekt wegfällt (wenn auf einmal alles funktioniert )...
Lactobacillus
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025