Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zahlwerte und nicht buchstaben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
19.11.2003, 15:43 Uhr
Puschel
Dr. med. Dipl. Prof. Virus


Wie kann ich einen AnsiString in eine Char umwandeln es gibt ja schon die Ereignisse um einen AnsiString in ein Double oder Integer umzuwandeln gibt es auch was für char???
--
Wenn man nichts tut, glaubt man, daß man für alles die Verantwortung trägt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
19.11.2003, 15:49 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


google sagt mir das es die methode c_str() gibt um aus nem ansistring nen char[] machen also eventuell geht dann
C++:
Edit->Text.c_str();

--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 19.11.2003 um 15:50 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
19.11.2003, 16:03 Uhr
Puschel
Dr. med. Dipl. Prof. Virus


Der CBuilder6 ist sowas von doof.

hab das jetzt mit deiner Funktion so gemacht.die du mir da gegeben hattest in post 001.
Das sieht dann so aus

C++:
if(IsNumber(Edit->Text.c_str()));
else
Edit->Text=" ";



nun gibt er mir folgende lustige 2 Fehlermeldung aus

Zitat:

[C++ Fehler] Investment.cpp(343): E2340 Keine Übereinstimmung des Typs beim Parameter 1 ('char' erwartet, 'char *' erhalten)

und

Zitat:
[C++ Fehler] Investment.cpp(319): E2034 Konvertierung von 'char *' nach 'char' nicht möglich

Applaus für Borland
diese Deppen
--
Wenn man nichts tut, glaubt man, daß man für alles die Verantwortung trägt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
19.11.2003, 16:21 Uhr
Puschel
Dr. med. Dipl. Prof. Virus


kannst du mir jetzt noch deinen Quelltext aus post 001 erklären.
Geht halt darum weil ich den Quelltext kommentiere und eine Doku zum Quelltext erstelle.
--
Wenn man nichts tut, glaubt man, daß man für alles die Verantwortung trägt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
19.11.2003, 18:12 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wenns denn sein muss...

C++:
bool isNumber(char* zahl){
    char flag=0,*p=zahl;   //flag ist für einen möglichen punkte der in der zahl enthalten ist p zeigt auf zahl
    if(!*p) return false; //wenn ein leerer string übergeben wurde false da keine zahl
    if(*p=='-'||*p=='+')++p; //wenn erstes zeichen - oder + dann lass p auf nächstes zeichen zeigen
    for(;*p;++p) //solange p nicht auf das terminierungszeichen 0 zeigt erhöhe p um 1
        if(!isdigit(*p)) //wenn zeichen auf das p zeigt keine ziffer ist
            if(flag || *p!='.' )return false; //wenn schon ein punkt gefunden wurde oder das zeichen auf das p zeigt kein punkt ist dann ist es keine zahl
            else ++flag; wenn es keine ziffer war aber ein punkt dann erhöhe flag
    return true; //wenn er hier ankommt war alles io
}


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 19.11.2003 um 18:13 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
20.11.2003, 10:18 Uhr
Puschel
Dr. med. Dipl. Prof. Virus


Im Prinzip löscht das Programm zur Zeit den ganzen Inhalt des Feldes wie sieht es aus wenn ich nur nicht zulassen will das er den Buchstaben eingibt.Oder besser er löscht nicht das ganze Feld sonder immer nur das
jeweilige eingegebene Zeichen.
Geht das?
--
Wenn man nichts tut, glaubt man, daß man für alles die Verantwortung trägt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
20.11.2003, 11:26 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


klar geht das
du musst du immer nur merken was als letztes drin stand. Wenn dann beim hinzufügen eines neuen zeichens herauskommt das es keine valide zahl ist kannst du den letzten text mit dem neuen vergleichen. Das zeichen was zusätzlich enthalten ist muss der zu löschende Fehlstand sein
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
20.11.2003, 11:35 Uhr
Puschel
Dr. med. Dipl. Prof. Virus


Hmmm... wie jetzt
Also ich geb jetzt zum Beispiel ein "1234,05"
und dann vertipp ich mich und tipp auf ein buchstaben sagen wir mal "a"
dann würde es ja so aussehen "1234,05a"
nun soll ich die obere zahl "1234,05" mit der anderen vergleichen

1234,05==1234,05a

Dannmüsste ich ja die zahl immer wieder sobald sichj das Feld ändert in ein Arrey einlesen und dann immer wieder vergleichen. Richtig???
--
Wenn man nichts tut, glaubt man, daß man für alles die Verantwortung trägt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
20.11.2003, 11:45 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


genau und dafür musst du wie bereits oben gesagt die message finden die gesendet wird wenn sich der inhalt deines edit verändert. für diese schreibst du dann ne methode in die du das alles reinpackst.
musst du mal im borlandforum fragen wie das geht.
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: