Delphi 7-Ερώτηση προς γνώστες κώδικα

Συζητήσεις σχετικές με την Delphi και την πρόγονη της Pascal

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
elpida21
Δημοσιεύσεις: 1
Εγγραφή: 14 Ιούλ 2008 17:20

Delphi 7-Ερώτηση προς γνώστες κώδικα

Δημοσίευση από elpida21 » 14 Ιούλ 2008 18:11

Γεια....πρόκειται για ένα σύστημα που σκοπό έχει την πώληση προιόντων PC ηλεκτρονικά. Γνωρίζει κάποιος των κώδικα που πρέπει να γραφεί και πίσω από ποιο event (π.χ. on Activate ή on Change), ώστε να φορτώνεται εξωτερικό αρχείο μορφής .txt στο combobox με τις κατηγορίες προιόντων; Μήπως υπάρχει κάτι που πρέπει να γίνει με την επιλογή items των properties στο code της; Πώς γίνεται να πατά κάποιος την επιλογή του προιόντος και να εμφανίζεται μια φωτογραφία του; Πρέπει οι φωτογραφίες να είναι στον Editor του προγράμματος φτιαγμένες; Για να μπει κουμπί που να εκτυπώνει την παραγγελία ποιο απο τα δύο κουμπια που έχει για ρυθμίσεις printer (πάνω-στις επιλογές των dialogs) χρησιμοποιούμε; Τέλος, μία ακόμη τελευταία ερώτηση...Όταν θέλουμε κάποιος σ΄ ένα editbox να γράψει το τηλέφωνό του, αλλα αυτός γράψει σε string, ενώ φυσικά χρειάζεται να είναι νούμερο...τότε πώς κάνουμε αυτόν τον έλεγχο και τον περιορισμό, ώστε να μη το δέχεται το πρόγραμμα;(ουφ!και ζέστη και delphi...ας βρεθεί ένα "α-delphi" ( :respect:) εδώ της κοινότητας να μου πει κάτι από όλα, θα ναι μεγάλη η χάρη του...)..Φιλιά.... :-) :think:

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Delphi 7-Ερώτηση προς γνώστες κώδικα

Δημοσίευση από soteres2002 » 15 Ιούλ 2008 15:15

Αυτό με τα νούμερα που λές, αν δεν υπάρχει κανένα έτοιμο container που να κάνει επικύρωση βάσει μιας κανονικής έκφρασης, τότε πρέπει να το φτιάξεις από την αρχή. Κάτι που μπορείς να κάνεις είναι να βάλεις στο γεγονός on key press μια ρουτίνα που να παίρνει και να κάνει parse το string με κανονικές εκφράσεις ή αντί αυτού να συντάξεις μια δική σου ρουτίνα για την επικύρωση της εισόδου. Σε περίπτωση λάθος μορφής, μπορείς να βάλεις visual confirmation αλλάζοντας το background του text box και να μην μπορεί να γράψει παραπέρα (όσο πατιούνται κουμπιά και δεν υπάρχει σφάλμα στην μορφή που ζητάς το παρασκήνιο είναι ασπρο χρώμα).

Αυτό με το κουμπί και την εκτύπωση, πρέπει να συνδέσεις το κουμπί για την εκτύπωση και το container που θέλεις να τυπώσεις. Αυτό γίνεται προγραμματιστικά καθώς υπάρχουν πολλοί παράγοντες που πρέπει να ορίσεις. Βέβαια, μπορεί εσύ να έχεις έτοιμο κώδικα ή κάποιο έτοιμο container ώστε με ζωγράφισμα στην φόρμα να είσαι οκ.

Άβαταρ μέλους
Triole
Δημοσιεύσεις: 27
Εγγραφή: 20 Φεβ 2010 02:16

Delphi 7-Ερώτηση προς γνώστες κώδικα

Δημοσίευση από Triole » 20 Φεβ 2010 11:10

elpida wrote:Γνωρίζει κάποιος των κώδικα που πρέπει να γραφεί και πίσω από ποιο event (π.χ. on Activate ή on Change), ώστε να φορτώνεται εξωτερικό αρχείο μορφής .txt στο combobox με τις κατηγορίες προιόντων;


answer:

ipothetoyme oti to arxeio einai mesa sto idion fakelo poy exeis kai tin efarmogi kai legete proionta.txt kai einai tis morfis

proion1
proion2
proion3
proion4
proion5

sto kentriko form soy i opoy allou thes bazeis sto simban onActivate tin exis entoli.
afoy oriseis prota to style apo tis idiotites toy combobox1 se "csOwnerDrawFixed"

Κώδικας: Επιλογή όλων

Combobox1.items.loadfromfile(extractfilepath(application.exename)+'proionta.txt');
Combobox1.itemIndex:=0;


Πώς γίνεται να πατά κάποιος την επιλογή του προιόντος και να εμφανίζεται μια φωτογραφία του;

answer:
bazeis ena antikeimeno Image1 sthn forma poy thes na emfanizete i foto soy kai sto simban.. ComboBox1Change bazeis ton akoloytho kodika

Κώδικας: Επιλογή όλων


procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Image1.Picture.LoadFromFile(extractfilepath(application.exename)+Combobox1.Items[combobox1.itemIndex]+'.jpg');
end;




Πρέπει οι φωτογραφίες να είναι στον Editor του προγράμματος φτιαγμένες;
answer:
OXI mporei na einai eite jpg,bmp,gif whatever.




Για να μπει κουμπί που να εκτυπώνει την παραγγελία ποιο απο τα δύο κουμπια που έχει για ρυθμίσεις printer (πάνω-στις επιλογές των dialogs) χρησιμοποιούμε;

answer: opio kai na xrisimopoihshs to idio ta kanei.





Τέλος, μία ακόμη τελευταία ερώτηση...Όταν θέλουμε κάποιος σ΄ ένα editbox να γράψει το τηλέφωνό του, αλλα αυτός γράψει σε string, ενώ φυσικά χρειάζεται να είναι νούμερο...τότε πώς κάνουμε αυτόν τον έλεγχο και τον περιορισμό, ώστε να μη το δέχεται το πρόγραμμα;


answer:
exeis 2 liseis.
i proti einai na to baleis mesa se ena memory protection block tis morfis....

Κώδικας: Επιλογή όλων

try
mytel:=strtoInt(edit1.text)
except
showmessage("den exete dosei thlefono")
/////// edo bazeis oti entoles theleis se periptosi poy exeis parei lathos
end;


Deyteri lisi.
-----------------

Κώδικας: Επιλογή όλων



function tform1.isnumber(ms:string):Boolean;
var i:integer;
begin
Result:=false;
if trim(ms)="" then exit;
for i:=1 to length(ms) do
begin
if pos(ms[a],'0123456789')= 0 then exit;
end;
result:=true;
end;






exontas ayto to function mporeis an elexeis ena ena xaraktira an periexete sto sinolo 0123456789 kai me to poy dei oti kati den einai digit soy epistrfei timi false.


px if isnumber(edit1.text) Then
begin
showmessahe('isnumber!!!!!')
end
else
begin
showmessahe('is not a Number')
end;

freecoder
Δημοσιεύσεις: 1
Εγγραφή: 02 Σεπ 2013 07:58

Delphi 7-Ερώτηση προς γνώστες κώδικα

Δημοσίευση από freecoder » 02 Σεπ 2013 08:01

diortosi .

allaxe to ms[a] se i
kai o elexos if trim(ms)="" then xreiazete
afoy o broxos ta ektelestei mono an to length einai > 0

sostos kodikas.
---------------------------

function tform1.isnumber(ms:string):Boolean;
var i:integer;
begin
Result:=false;
for i:=1 to length(ms) do
begin
if pos(ms,'0123456789')= 0 then exit;
end;
result:=true;
end;

Απάντηση

Επιστροφή στο “Delphi, Pascal”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες