"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Pascal Frage (Integers in Strings umwandeln)

Lactobacillus 02.12.2001 - 10:38 1588 11
Posts

Lactobacillus

Addicted
Registered: Sep 2000
Location: gone
Posts: 389
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

CWNE #540
Avatar
Registered: Apr 2001
Location: ::1
Posts: 6837
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

Addicted
Registered: Sep 2000
Location: gone
Posts: 389
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

CWNE #540
Avatar
Registered: Apr 2001
Location: ::1
Posts: 6837
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

Addicted
Registered: Sep 2000
Location: gone
Posts: 389
thx, Problem gelöst :)

noledge

CWNE #540
Avatar
Registered: Apr 2001
Location: ::1
Posts: 6837
np :)

noli

Lactobacillus

Addicted
Registered: Sep 2000
Location: gone
Posts: 389
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

Addicted
Registered: Sep 2000
Location: gone
Posts: 389
Ah...ich hab's durchschaut: er behandelt das '+' als Vorzeichen :cool:

xdfk

pädagogisch wertvoll
Avatar
Registered: Sep 2000
Location: Graz
Posts: 6441
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

Addicted
Registered: Sep 2000
Location: gone
Posts: 389
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
Bearbeitet von Lactobacillus am 02.12.2001, 18:26

xdfk

pädagogisch wertvoll
Avatar
Registered: Sep 2000
Location: Graz
Posts: 6441
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

Addicted
Registered: Sep 2000
Location: gone
Posts: 389
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
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz