dynamische arrays, was muss ich machen und wie geht das unter C++

Hi,

ich würd dir dann eher dazu Raten nen Grundlagen Tutorial/Buch zu lesen. Damit du dich in die Syntax einarbeitest, verkehrt wäre es aufjedenfall nicht. C++ ist ja schon nen ganz schönes Stück anders als VB.
 
Ist daran irgendwas unverständlich? :
Original geschrieben von Thomas Kuse
Es gibt eine nette C-Funktion atoi Damit kann man char-arrays in integer umwandeln (atof machts in floats).
Wenn das Ergebnis 0 ist, dann ist entweder im char-array eine 0 oder es stehen nicht nur Zahlen drin.


btw: Für Programmier-Laien ist VB natürlich der Himmel auf Erden. In C++ musst Du auch mal selber was machen können! Wenn nicht, bleib bei VB! Hier wird nicht rumgeheult!
 
@Thomas
ich hatte deinen beitrag überlesen, mit atoi.
Und wo heul ich rum?
egal, locker bleiben.
Zu deiner Meinung zu VB.
Wozu auch einfach wen's auch umständlich geht oder?
Aber egal, danke mal für die Hilfe, werd das gleich ausprobieren.

Des mit dem Grundlagenbuch werd ich wohl auch machen.
C ist schon ne Ecke was anderes das stimmt.
 
Original geschrieben von VB_Freak_goes_C
If (TxtDez->Text== numerisch) //hier fehlt mir der befehl für die Abprüfung und ich finde dafür auch nix, ich will meinen Lehrer mal bisle beeindrucken ;)
{
....
}
else
{
Application->MessageBoxA ("Sie müssen einen gültigen Wert zur Berechnung eingeben","Dezimal-2-Dual",0);
}

Im Builder gibt es die Funktion StrToInt bzw. IntToStr damit kannst du einen String in einen Integer bzw. einen Integer in einen String umwandeln. Nun könntest du einfach per try catch versuchen ob du den Text in einen Integer umwandeln kannst und beim Fehler gibst du halt die
Code:
MessageBoxA(NULL,"Sie müssen einen gültigen Wert zur Berechnung eingeben","Dezimal-2-Dual",MB_OK);
aus.
 
also wenn ich es mit

StrToInt ('A')

teste, gibt er mir den Asciicode zurück (65)

das geht so wohl nicht.

Mit atoi (txtDez->Text)
gehts auch net, da kommt dann konvertierung von AnsiString nach char nicht möglich, oder so ähnlich.

Liegt wohl am Borland builder, oder?
 
Natürlich kann er einen AnsiString nicht in einen char typecasten.
Leider weiss ich nicht direkt wie Du im Borland mit AnsiString einen const Zeiger auf den char-Wert bekommst.
Bei der String-Klasse von der STL kann man einfach die Memberfunktion c_str() aufrufen und bekommt einen const char* zurück.
Beim CString der MFC geht das mit dem LPCSTR operator.

Sowas ähnliches muss es also auch für einen AnsiString geben, der basiert intern natürlich auch auf einem char-Array!
Schau dafür einfach mal in die mitgelieferte Referenz und versuch die Memberfunktion mit dem entsprechenden Rückgabetyp.
 
Ja er gibt ne Exception aus dehalb hab ich mir das auch so gedacht:
Code:
 try
 {
  int iInteger=StrToInt(Edit1->Text);
 }
 catch(Exception* ex)
 {
  MessageBoxA(NULL,"Bitte einen Integer eingeben","String zu Integer Fehler",MB_OK);
 }
 
Zurück