Frage zu IntToStr

Hallo zusammen,

ich bin Programmieranfänger und programmiere auch zu 85% in der Schule.

Nun habe ich ein Problem bei einem Programm. Es sotiert 10 Zahlen, der größe nach. Aus dem Zahlenbereich 100. Das klappt auch soweit.

Jetzt habe ich mir gedacht den Zahlenbreich dem User zu überlassen. Dies klappt aber nicht so ganz.

Hier der Code:

for (int i=0; i

Hi,

for (int i=0; inachdem du es deklariert hast.

MfG Der einzigware

Hallo -kev245-

Ich vermute doch dass das Array ‚zahl[]‘ ein Integer-Array ist und kein String-Array.
Da ist die Zuweisung

zahl[i]=IntToStr(edtVon);

fehl am Platz, du willst ja nicht einen Integer in einen String umwandeln sondern wohl eher umgekehrt ?

mfg
Christof

Hallo

Hi,

for (int i=0; inachdem du es

deklariert hast.

Das sehe ich kein Problem, mache ich immer ungeniert:

int zahlen[4];
zahlen[1] = 123;

Wenn ich dann alle Zahlen überschreiben will, braucht es halt eine for-Schleife, wo die der Reihe nach kopiert werden.

lG
Martin B

Hallo -kev245-

Jetzt habe ich mir gedacht den Zahlenbreich dem User zu
überlassen. Dies klappt aber nicht so ganz.

Nun, der Benutzer könnte einfach statt 100 z.B. 80 eingeben, dann gibt es Zahlen 0…79. Oder er gibt 32…81 ein, dann nehmen wir eben das Minimum als Offset:

int min = StrToInt(userEntryMin);
int max = StrToInt(userEntryMax);
int groesse = max - min + 1;

for (int i=0; i
Ich gehe jetzt mal davon aus, dass Deine random() Zahlen von 0 bis (groesse - 1) retourniert.



> bei zahl[i]= weiß ich dann nicht weiter.


Ist es das?



> Vielen dank für die Hilfe.


Bitte gern.
lG
Martin B

ja, so wollte ich es haben.

nun kommen leider folgende fehler:

[C++ Fehler] uSortieren.cpp(26): E2034 Konvertierung von ‚TEdit *‘ :nach ‚AnsiString‘ nicht möglich
[C++ Fehler] uSortieren.cpp(26): E2342 Keine Übereinstimmung des Typs :beim Parameter ‚S‘ (‚const AnsiString‘ erwartet, ‚TEdit *‘ erhalten)
[C++ Fehler] uSortieren.cpp(27): E2034 Konvertierung von ‚TEdit *‘ :nach ‚AnsiString‘ nicht möglich
[C++ Fehler] uSortieren.cpp(27): E2342 Keine Übereinstimmung des Typs :beim Parameter ‚S‘ (‚const AnsiString‘ erwartet, ‚TEdit *‘ erhalten)

weiß wirklich nicht weiter, sorry :smile:

danke für die mühe

gruß -kev245-

hallo

Das ist nun eine andere Geschichte.

nun kommen leider folgende fehler:

[C++ Fehler] uSortieren.cpp(26): E2034 Konvertierung von ‚TEdit *‘ :nach ‚AnsiString‘ nicht möglich

„TEdit *“ ist ein Zeiger. Wenn Du dem eine ‚*‘ zwecks der Indirektion verleihst (vorher), und dann noch castest „= (AnsiString)“, sieht es wohl gleich besser aus. Und nochmal: du willst von einem String auf eine Integer casten, nicht andersrum.

Aber da Deine Lib ein „TEdit“ hat für Text, wird es wohl auch was für die Eingabe von Integern haben - traue ich mich wetten. Es könnte auch eine ToInt() o.ä. haben.

Die anderen Fehler: siehe oben.

lG
Martin B