Aktuelle Zeit: 13.05.2025, 15:41

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 21.03.2008, 23:00 
Offline

Registriert: 02.10.2007, 14:37
Beiträge: 24
Hi,
ich möchte dem Anwender eine eingabe ermöglichen über eine Editbox oder ähnliches. Jedoch sollen nur Zahlen
zwischen 0-255 (nur Zahlen!) möglich sein. Und ich möchte auch ganz bequem als integer auslesen können welche Zahl eingeben wurden ist.
Mein Problem ist das eine EditBox nur einen String durch getText() zurück gibt und keinen integer.
Außerdem lassen sich die Zeichen die eine Editbox annimmt nicht nur auf zahlen begrenzen.

Comboboxen und Listboxen erscheinen mir auch nicht als ideal, weil man da nicht einfach über tastatur die zahl eingeben kann.
dann gibt es noch die SpinBox aber was das genau ist weiß ich nicht. Hab auch nicht viel dazu gefunden.
Hat jemand eine Idee für mein Problem.

Gruß Merl


Nach oben
 Profil  
 
BeitragVerfasst: 22.03.2008, 03:25 
Offline
Newsposter
Benutzeravatar

Registriert: 12.03.2007, 10:42
Beiträge: 338
Wohnort: Berlin
wie man das mit der zahlen begrenzung machen könnte weis ich nicht, aber zumindest habich eine antwort auf die frage wie man eine zahl in einem string in eine zahl im sinne des datentyps umwandeln kann.

siehe dir doch einfach mal diese funktionen an:

atoi(int) Convert string to integer (function)
atol(long int) Convert string to long integer (function)
atof(double) Convert string to double (function)
strtol(long int) Convert string to long integer (function)

die geben dir dann die zahl in dem entsprechendem datentypen zurück.


Nach oben
 Profil  
 
BeitragVerfasst: 22.03.2008, 10:48 
Offline

Registriert: 03.02.2008, 19:47
Beiträge: 13
Die Zahlenbegrenzung kannst du dann einfach machen indem du den Wert überprüfst nachdem er in einen int umgewandelt wurde.
Mir würde jetzt auf die schnelle und in der Norgendämmerung nix anderes einfallen.

_________________
Heute code ich, morgen debug ich und übermorgen caste ich die Königin auf int!


Nach oben
 Profil  
 
BeitragVerfasst: 22.03.2008, 10:53 
Offline

Registriert: 17.11.2007, 11:15
Beiträge: 19
Diese Funktionen scheinen jedoch nur char* anzunehmen. Deshalb würde ich das so ähnlich machen:
Code:
int zahl = 0;
swscanf_s(EDITBOX->getText(), L"%d", &zahl);
if (zahl > 0 && zahl < 255)
    //irgendwas machen
else
{
    wchar_t text[4];
    swprintf(text, (size_t)3, L"%d", (zahl < 0 ? 0 : 255));
    EDITBOX->setText(text);
}


Nach oben
 Profil  
 
BeitragVerfasst: 22.03.2008, 17:13 
Offline

Registriert: 02.10.2007, 14:37
Beiträge: 24
Danke danke ich versuch mal nochwas rum


Nach oben
 Profil  
 
BeitragVerfasst: 22.03.2008, 22:28 
Offline

Registriert: 02.10.2007, 14:37
Beiträge: 24
Hey habe herausgefunden, dass die Spinbox genau das macht was ich suchte trotzdem danke.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de