Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Char zu String umwandeln


der organist - Mi 21.01.09 19:20
Titel: Char zu String umwandeln
Hi Leutz,
normalerweise sollte das ja kein Problem darstellen, aber mir sagt der Copmiler, dass es incompatible types "Char" und "String" gibt.
Was mache ich falsch?

Thx, MfG,


jaenicke - Mi 21.01.09 19:21

Wie sieht denn der Quelltext aus?


der organist - Mi 21.01.09 19:22


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure MaxInt.increase(amount: String);
var k: Integer;
begin
  for k := 1 to Length(digit)do begin
    inc(digit[k],StrToInt(Amount[k]));
    if digit[k]>9 then begin
      Amount[k+1]:=IntToStr(StrToInt(Amount[k+1])+digit[k] div 10);
    end;
  end;
end;


digit ist ein Array of Integer. und der Fehler befindet sich in der markierten ZEile :).


JayEff - Mi 21.01.09 19:28

Amount[k+1] ist ein einziges Zeichen(ein Char) während IntToStr einen String zurückgibt (welcher aus mehreren Zeichen bestehen kann!) Wenn du genau weiß, dass IntToStr nur 1 Zeichen zurückgeben wird, dann kannst du mit [1] in Amount[k+1] einfach das erste Zeichen des von IntToStr zurückgegebenen Strings speichern:  Amount[k+1] := IntToStr(...)[1];


der organist - Mi 21.01.09 19:29

danke, nu hab ich auch verstanden, wo der Fehler ist, ich dachte immer, der läge bei dem StrToInt.....