Pascal Frage (Integers in Strings umwandeln)

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/pascal_frage_integers_in_strings_umwandeln_19172/page_1 - zur Vollversion wechseln!


Lactobacillus schrieb am 02.12.2001 um 10:38

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 :mad:
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


noledge schrieb am 02.12.2001 um 11:02

so gehts auf jeden fall, aber was is daran mühsam?

Zitat
var

i:integer;
s:string;

begin
i:=500;
s:=str(i)+' posts braucht man um den custom title zu ändern';
deineprocedure(s);
end.

str is glaub ich die gscheiteste möglichkeit.

noli


Lactobacillus schrieb am 02.12.2001 um 11:55

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

Zitat
var
aInteger : Integer;
aString: String;

(...)

aInteger := 500;

Str(aInteger, aString);
Prozedur('Anzahl der Titel um den Custom Title zu ändern = ' + aString);
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 nicht :(

noledge: Einmal "Danke!" für die Antwort...

Lactobacillus


noledge schrieb am 02.12.2001 um 12:00

hm? wo ist das problem?
wenns keine funktion dafür gibt, schreib ich eine mit dem str-aufruf drinnen

Zitat
function str2(i:integer):string;
begin
str(i,str2);
end;

dann kannst str2 so verwenden, wie ich es oben geschrieben habe.

noli


Lactobacillus schrieb am 02.12.2001 um 12:12

thx, Problem gelöst :)


noledge schrieb am 02.12.2001 um 12:33

np :)

noli


Lactobacillus schrieb am 02.12.2001 um 17:35

Ich habe noch eine Frage:

Gibt es einen Grund, warum

Zitat
var
aInteger, ReturnCode : Integer;

begin;
Val('+', aInteger, ReturnCode);
Writeln(ReturnCode);
end;
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?!

Danke!
Lacto"Turbo Pascal 6.0"bacillus


Lactobacillus schrieb am 02.12.2001 um 17:54

Ah...ich hab's durchschaut: er behandelt das '+' als Vorzeichen :cool:


xdfk schrieb am 02.12.2001 um 18:18

turbo pascal roolez ;) die erste programmiersprache die ich gelernt habe :D :D

was soll das programm im endeffekt denn eigentlich können bzw wieso machst du TP und nicht delphi?


Lactobacillus schrieb am 02.12.2001 um 18:24

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) :D


xdfk schrieb am 02.12.2001 um 18:33

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 :D :D :D


Lactobacillus schrieb am 02.12.2001 um 19:03

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 :cool: )...

Lactobacillus




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025