• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 18, 2025, 01:45:44 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 18, 2025, 01:45:44 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 00:45:33]

[Μεταφορά και Διανομή ΗΕ]...
by Nikos_313
[Today at 00:10:29]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 17, 2025, 21:32:50 pm]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426704
Total Topics: 31710
Online Today: 215
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 34
Guests: 173
Total: 207
el1
pdiamantis
m.renia
Mr Watson
ligditsa
Cersei Tsoulannister
melisste22
rafail zisiadis
thomasdt
alex_samaras_
Spyridon01101
Theislander
BlackBeard
spoun
kostas.de
evitzv
elischat
Η ΤΡΑΠΟΥΛΑ ΤΟΥ ΠΑΠΠΟΥ ΜΟΥ
d0xa
evax
Stelios V.
KZerenidis
kmargaritis
George Hadjilyras
dimchin
Giannis Masterio
giorgosss03
ZontanosThrylos
Tsn
athena_apo
miltan8
marwt
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Πληροφορίες Καθηγητών
THMMY.gr > Forum > Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα > Περί Υπολογιστών... > Software > Προγραμματισμός (C, VB, Delphi, PHP, ASP...) (Moderators: chatzikys, PolarBear) > Πως να περάσω αποδοτικά πολλές τιμές
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: Πως να περάσω αποδοτικά πολλές τιμές  (Read 1963 times)
fugiFOX
Veteran
Καταστραμμένος
******
Posts: 8962


Fugi+Fox μια νέα μορφή ζωής...


View Profile
Πως να περάσω αποδοτικά πολλές τιμές
« on: March 13, 2006, 00:22:02 am »

έχω μερικά chechboxes και θέλω να περάσω σε μια συνάρτηση,
το ποια είναι ενεργοποιημένα.
Πείτε μου έναν καλό τρόπο να το κάνω.
Σκέφτηκα έχω έναν πίνακα boolean και κάθε του στοιχείου θα αντιστοιχεί σε ένα checkbox.

Το πρόβλημα που έχω είναι ότι μετά αναλόγως με τον συνδυασμό τωνα CBs θα είνα ενεργοποιημένα,
θα εκτελείτα κάποια ανάλογη ενέργεια.
Ο πιο απλός τρόπος είναι να γίνει με κάποιο switch-case/else-if statement. Όμως όσο αυξάνεται ο αριθμός των CBs,
αυτό γίνεται πρακτικά αδύνατον.
Ιδέες που να γίνει αυτό;
¨Εχω δει κάτι υλοποιήσεις τύπου κάθε CB έπιστρέφει μια δυαδική τιμή δλδ 1,2,4,8,16,32,64 έτσι ώστε αν πάρουμε το άθροισμα ξέρουμε απευθείας ποιο η ποια CB είναι ενεργοπιοημένα.

Ευχαριστώ όποιον προτείνει οτιδήποτε
« Last Edit: March 13, 2006, 00:29:53 am by fugitive » Logged

http://www.mozilla.org/en-US/firefox/new/
gpavlidi
Νεούλης/Νεούλα
*
Posts: 28

I dont have parents.. Somebody used fork();


View Profile WWW
Re: Πως να περάσω αποδοτικά πολλές τιμές
« Reply #1 on: March 13, 2006, 01:09:01 am »

Ένας κομψος τρόπος είναι όπως είπες, το κάθε cb να είναι δύναμη του 2, και μετά να χρησιμοποιείς κατάλληλες μάσκες στο άθροισμα τους με if...
πχ.

#define CHECK_BOX1 1
#define CHECK_BOX2 2
#define CHECK_BOX3 4

if(sum && CHECK_BOX1)
      mpla1();
if(sum && CHECK_BOX2)
      mpla2();
Logged
fugiFOX
Veteran
Καταστραμμένος
******
Posts: 8962


Fugi+Fox μια νέα μορφή ζωής...


View Profile
Re: Πως να περάσω αποδοτικά πολλές τιμές
« Reply #2 on: March 13, 2006, 02:33:33 am »

Ούτε αυτό που λες είναι τόσο αποδοτικό γιατί (ίσως φταίω και γω που δεν το ξεκαθάρισα στο πρώτο ποστ)
θέλω αναλόγως με το συνδυασμό των "αναμμένων" CBs να γίνεται και η ανάλογη ενέργεια,
η οποία δεν είναι άλλη από το να προσθέτει μια αντίστοιχη λέξη σε ένα string.
Π.χ. αν έχουμε 4 CBs και είναι αναμμένα το 2 και 4 θα έχει μια έξοδο του στυλ
Checked are 2 and 4.

Χμ, τώρα μου ήρθε μια άλλη ιδεα.
κάτι σε στυλ string="schecked are" + if(cb1==true):"1"?" "  if(cb3==true):"3"?" " κτλ αλλά δεν ξέρω αν θα πιάσει και αν καταλήγει σε αποδοτικότερο
« Last Edit: March 13, 2006, 02:37:32 am by fugitive » Logged

http://www.mozilla.org/en-US/firefox/new/
Katarameno
Διεστραμμένος
**********
Posts: 23576


Music@ ♫♪♯ https://mixupload.com/u/Katarameno/ ♫♪♯


View Profile WWW
Re: Πως να περάσω αποδοτικά πολλές τιμές
« Reply #3 on: September 25, 2013, 05:58:07 am »

Τι λέτε ρε παιδιά? (ανασκαφή της αρκούδας αλλά δεν άντεξα)

Τα Check Boxes έχουν ιδιότητα :Checked η οποία παίρνει τιμές true ή false Smiley
Οπότε λες :

if CheckBoxA.Checked = True then
begin
    if CheckBoxB.Checked = True  then
      begin
         ...
      end;
   ...
end;

else // (δηλαδή αν if CheckBox A.Checked = False)
begin
   ...
end;

Παράδειγμα :
Σε real κώδικα μέσα:
// {*************************************************************************}
/// <summary>
/// Ανοίγει έναν Διάλογο Επιλογής ΓραμματοΣειράς εάν είναι τσεκαρισμένη η αντίστοιχη Επιλογή (εννοώ το αντίστοιχο CheckBox)
/// αλλιώς βάζει σε Όλο το Πλέγμα ΓραμματοΣειρά Arial μεγέθους 10 Points
/// </summary>
procedure TDataEntryMasterBios1000Form.TMS_SetGridFont(Grid: TAdvStringGrid);
var
  ARow , ACol : Integer ;
begin
  try
    with Grid do
    begin

      // Άν είναι τσεκαρισμένη η Επιλογή Επιλογής Γραμματοσειράς (by Default είναι)
      if CheckBoxSelectAFont.Checked = True then
        begin
          FontDialogExcel.Execute ;              // Ανοίγει τον Διάλογο Επιλογής ΓραμματοΣειράς
          Font := FontDialogExcel.Font ;         // Βάζει σε Όλα τα Κελλιά τη ΓραμματοΣειρά που επέλεξε ο Χρήστης
          FixedFont := FontDialogExcel.Font ;    // Βάζει σε Όλα τα Φίξ Κελλιά τη ΓραμματοΣειρά Arial
        end  // Τέλος του if CheckBoxSelectAFont.Checked = True then
      else
      // Αλλιώς, άν δέν είναι τσεκαρισμένη η Επιλογή Επιλογής Γραμματοσειράς,

      // βάζει σε Όλο το Πλέγμα ΓραμματοΣειρά Arial μεγέθους 10 Points
      for ACol := 0 to GetAllColCount(Grid) - 1 do    // Για Όλες τις Στήλες του Πλέγματος Grid
      begin
        for ARow := 0 to GetAllRowCount(Grid) - 1 do  // Για Όλες τις Γραμμές του Πλέγματος Grid
        begin
          FontNames[ACol,ARow] := 'Arial' ;      // Βάζει σε Όλα τα Κελλιά τη ΓραμματοΣειρά Arial
          FontSizes[ACol,ARow] := 10 ;           // Βάζει σε Όλα τα Κελλιά τo μέγεθος των Χαρακτήρων 10 Points
          FixedFont.Name := 'Arial' ;            // Βάζει σε Όλα τα Φίξ Κελλιά τη ΓραμματοΣειρά Arial
          FixedFont.Size := 10 ;                 // Βάζει σε Όλα τα Φίξ Κελλιά τo μέγεθος των Χαρακτήρων 10 Points
        end; // Τέλος του for ACol := 0 to GetAllColCount(Grid) - 1 do
      end; // Τέλος του for ARow := 0 to GetAllRowCount(Grid) - 1 do
    end; // Τέλος του with Grid do

  except
     on e: Exception do
    begin

     ShowMessage('Παρουσιάστηκε Σφάλμα στην Διαδικασία Ρύθμισης Γραμματοσειράς του Πλέγματος (ExportUpdateEventsMasterForm.TMS_SetGridFont), με μύνημα: ' + e.Message );
        WriteLog('Παρουσιάστηκε Σφάλμα στην Διαδικασία Ρύθμισης Γραμματοσειράς του Πλέγματος (ExportUpdateEventsMasterForm.TMS_SetGridFont), με μύνημα: ' + e.Message
               + ' , από τον Χρήστη : '   + ErrorH.UserName
               + ' , στον Υπολογιστή : ' + ErrorH.ComputerName ) ;
    end;  // Τέλος του on e: Exception do
  end; // Τέλος του try/except
end;  // Τέλος της Διαδικασίας
// {*************************************************************************}
« Last Edit: September 25, 2013, 06:17:07 am by Katarameno » Logged

©2008-2025, Καταραμένο Αροξόλ™ | Μουσικούλα για να (μην) διαβάζετε (καλύτερα) ♫♪♯ https://mixupload.com/u/Katarameno/creative ♫♪♯ & https://www.patreon.com/Katarameno ♫♪♯ ή από καλύτερους dj: https://www.bassdrive.com/ / https://mixing.dj/ / https://lifefm.tv/ / https://nubreaks.com/stream-links/nubreaks-podcast/ ♫♪♯
ΝΔ: Στα Εξάρχεια (στους πρόσφυγες, στους φοιτητές, στους φτωχούς) μαγκιές, στο Μαρινάκη πίπες
Pages: [1] Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...