AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

checkbox abfrage aus mehreren units

Ein Thema von hiroprotagonist · begonnen am 19. Feb 2007 · letzter Beitrag vom 19. Feb 2007
Antwort Antwort
hiroprotagonist

Registriert seit: 19. Feb 2007
3 Beiträge
 
#1

checkbox abfrage aus mehreren units

  Alt 19. Feb 2007, 16:55
Hallo,

ich bin noch Schüler und da kommt nun ein kleines Abschlusprojekt auf mich zu.
der einfacheit halber, ein "psychotest".
das ganze ist zur zeit so gebaut das auf jeder Seite etwa 5 Fragen sind, jeweils mit einer Checkbox zum ankreuzen.
jetzt ist das Problem.
pro antwort soll eine Punktzahl gemerkt werden, (ok schaff ich )
aber wie mach ich das dann ?
soll ich die pro unit in einer .ini speichern lassen dann am Ende wieder zu Untegers umwandeln und zusammenrechnen oder geht das noch besser ?
weil mit der .ini wäre das Problem, wenn jemand "zurück" klickt und was ändert wird die .ini dann einfach überschrieben ?

mfg

phil
  Mit Zitat antworten Zitat
AndersBk

Registriert seit: 19. Feb 2007
2 Beiträge
 
Delphi 6 Personal
 
#2

Re: checkbox abfrage aus mehreren units

  Alt 19. Feb 2007, 17:33
Hi Phil,

ich gehe mal davon aus, dass deine Checkbox-"Fragebögen" alle auf Formularen stehen, die zum selben Projekt gehören.
Ich würde folgendes probieren:

Irgendwo global, am besten im Hauptformular, ein array[1..n] of integer deklarieren, wobei n die Zahl der Fragebögen ist. Sobald der Benutzer einen Fragebogen ausgefüllt und mit "OK" bestätigt hat, wird die dort erreichte Punktzahl bestimmt und in das Array geschrieben. Ein Klick auf "Zurück" macht dann auch nichts, weil man die alte Punktzahl in dem Array überschreiben kann.
Am Ende die Punktzahlen in dem Array summieren.

Eine externe Datei (file of integer) halte ich nur für nötig, wenn du das Ergebnis dauerhaft speichern willst.

Gruß Birk
  Mit Zitat antworten Zitat
Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#3

Re: checkbox abfrage aus mehreren units

  Alt 19. Feb 2007, 18:01
Du berechnest die Punktezahl vermutlich mit viel Programmieraufwand.
Die Eigenschaft TAG erscheint mir hier sehr hilfreich. (kann auch negativ sein)
Auf die Punktezahl greifst Du dann "von aussen" mit einer Eigenschaft zu.

hier ein Codeschnipsel
Delphi-Quellcode:
 
type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    ...........
    CheckBox_n: TCheckBox;
  private
    function GetPunkte: integer;
  public
    property Punkte:integer read GetPunkte;
  end;

var
  Form1: TForm1;

implementation

function TForm1.GetPunkte: integer;
var i:Integer;
begin
  Result:=0;
  for i:=0 to ComponentCount-1 do
    if Components[i] is TCheckbox then
      if TCheckbox(Components[i]).Checked then
         inc(Result, TCheckbox(Components[i]).Tag);
end;
im Hauptformular summierst Du dann, im simpelsten Falle, die Punkt der einzelnen Formulare.

  Punkte:=Form1.Punkte + Form2.Punkte + .... Gruß vom Ferber
Otto
  Mit Zitat antworten Zitat
Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#4

Re: checkbox abfrage aus mehreren units

  Alt 19. Feb 2007, 18:05
Würde Auf dem Hauptformular nen globalen Integerwert setzen und den dann bei den einzelnen Formularen immer erhöhen


also auf der hauptform
x:Integer; //bei Public

x:=0;

dann alle anderen Units(die mit den Fragen ) in Uses
bei den jerweiligen Forms muss die Hauptform in Uses



und bei Frage1 z.B. x:=x+(erreichte Punkte)

und bei der auswertung dann halt
LabelErgebnis:=inttostr(x)
u.s.w.

Das alles natürlich nur unter der Vorraussetzung das ich Dich richtig verstanden hab
Marcel
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
374 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: checkbox abfrage aus mehreren units

  Alt 19. Feb 2007, 18:08
Zitat von Gehstock:
also auf der hauptform
x:string; //bei Public

x:=0;
Für dieses Vorhaben muss Dein X allerings nicht als String, sondern als Integer deklariert sein

also

X : Integer; Moin
  Mit Zitat antworten Zitat
Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#6

Re: checkbox abfrage aus mehreren units

  Alt 19. Feb 2007, 18:09
Hatte ich schon Gemerkt //wie Peinlich
Marcel
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz