Leite33 Δημοσ. 27 Σεπτεμβρίου 2008 Δημοσ. 27 Σεπτεμβρίου 2008 Καλημέρα Απορια: char *removenumbers(char *str) { int i,l=0; char *ret=(char*)malloc(strlen(str)+1); for (i=0;i<strlen(str);i++) if (str>='0' && str<='9') ret[l++]=str; ret[l]=0; return ret; } Πως θα καλέσω τη συγκεκριμένη συνάρτηση ώστε να παίρενι το κείμενο πό ένα memo η edit και να επιστρέφει το αποτέλεσμα πάλι στο ίδιο memo η edit
Evgenios1 Δημοσ. 27 Σεπτεμβρίου 2008 Δημοσ. 27 Σεπτεμβρίου 2008 ΚαλημέραΑπορια: char *removenumbers(char *str) { int i,l=0; char *ret=(char*)malloc(strlen(str)+1); for (i=0;i<strlen(str);i++) if (str>='0' && str<='9') ret[l++]=str; ret[l]=0; return ret; } Πως θα καλέσω τη συγκεκριμένη συνάρτηση ώστε να παίρενι το κείμενο πό ένα memo η edit και να επιστρέφει το αποτέλεσμα πάλι στο ίδιο memo η edit Βασηκα νομιζω πος το if block δεν στεκει.Γιατι δεν γηνετε char < char ,μπορω να κανω και λαθο,θα προτημουσα κατι του στιλ : (int)str>=(int)'0' Τωρα για το πως θα τη καλεσεις : αντικειμενοΑ->τιμη=removenumbers(αντικειμενοΑ->τιμη) ; Αυτο θα το εχεις μεσα σε ενα event (π.χ. πατημα ενος κουμπιου η εισαγογη ενος χαρακτιρα στο αντικειμενο)
Directx Δημοσ. 27 Σεπτεμβρίου 2008 Δημοσ. 27 Σεπτεμβρίου 2008 ΚαλημέραΑπορια: char *removenumbers(char *str) { int i,l=0; char *ret=(char*)malloc(strlen(str)+1); for (i=0;i<strlen(str);i++) if (str>='0' && str<='9') ret[l++]=str; ret[l]=0; return ret; } Πως θα καλέσω τη συγκεκριμένη συνάρτηση ώστε να παίρενι το κείμενο πό ένα memo η edit και να επιστρέφει το αποτέλεσμα πάλι στο ίδιο memo η edit Με τον παρακάτω τρόπο: > char *pszResult = removenumbers(Memo1->Text.c_str()); Memo1->Text = pszResult; free(pszResult); Σημ: Καθώς η ρουτίνα επιστρέφει ένα νέο char* οφείλουμε να το απελευθερώσουμε ύστερα με την βοήθεια της free(pszResult). Σημ 2: Γιατί δεν χρησιμοποιείς την ανάλογη έκδοση της σε VCL (http://www.insomnia.gr/forum/showpost.php?p=2337412&postcount=4), δεν σε καλύπτει, ρωτώ απλά από περιέργεια (περί ορέξεως..);
Leite33 Δημοσ. 27 Σεπτεμβρίου 2008 Μέλος Δημοσ. 27 Σεπτεμβρίου 2008 Ευχαριστώ πολυ θα το δοκιμασω.... DirectX δε το δοκιμασα το δικο σου... λογικα θα με υπερκαλυψει αλλα δοκιμαζω διαφορα να περναει η ωρα... Ευχαριστώ πολυ
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.