Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Bruchrechnen (https://www.delphipraxis.net/1002-bruchrechnen.html)

Maverick 6. Okt 2002 16:16


Bruchrechnen
 
also ich hab ein Problem:
Für die Schule will ich ein Programm machen das eine Art interaktiver Mathetest ist. Da in dem Test Brucgh aufgaben vor kommen stell ich diese mit bildern da und wollte das eigentlich so machen das bei jeder neuen aufgabe die alte unsichtbar wird und die neue erscheint nun hab ich aber das problem das aufgabe 3 nicht erscheint.

bei den aufgaben sind die lösungen schon vorgegeben damit ich mir es erspare die ganzen rechen formeln zu schreiben :D

hier mal der quelltext :
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, StdCtrls, ComCtrls, ExtCtrls, jpeg;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Ansicht1: TMenuItem;
    N1: TMenuItem;
    Beenden1: TMenuItem;
    Button1: TButton;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Meldungsfenster: TGroupBox;
    Label7: TLabel;
    Fragenkatalog: TGroupBox;
    Label1: TLabel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    info1: TMenuItem;
    Versionsnummer1: TMenuItem;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    aufgabe_1_dic: TRichEdit;
    aufgabe_2_dic: TRichEdit;
    Copyright: TLabel;
    aufgabe_1_im: TImage;
    loesung_4_im: TImage;
    loesung_1_im: TImage;
    loesung_3_im: TImage;
    loesung_2_im: TImage;
    RichEdit1: TRichEdit;
    aufgabe_2_im: TImage;
    loesung_2_c_im: TImage;
    loesung_2_a_im: TImage;
    loesung_2_d_im: TImage;
    loesung_2_b_im: TImage;
    procedure Beenden1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Versionsnummer1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  zaehler_richtig, zaehler_falsch, Aufgabe_1_falsch, Aufgabe_1_richtig:integer;

implementation

{$R *.DFM}

procedure TForm1.Beenden1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

if radiobutton1.checked=false then label7.caption:='Bitte zuerst eine Antwort auswählen!';
if radiobutton2.checked=false then label7.caption:='Bitte zuerst eine Antwort auswählen!';
if radiobutton3.checked=false then label7.caption:='Bitte zuerst eine Antwort auswählen!';
if radiobutton4.checked=false then label7.caption:='Bitte zuerst eine Antwort auswählen!';

/////////// F R A G E - 2 //////////////////////////////////////////////////////
// Keine Angaben - Meldung löschen //
if radiobutton1.checked=true then label7.caption:=' ';
if radiobutton2.checked=true then label7.caption:=' ';
if radiobutton3.checked=true then label7.caption:=' ';
if radiobutton4.checked=true then label7.caption:=' ';
// Ende des Vorganges //
//----------------------------------------------------------------------------//
// Fragenummer vergeben //
if radiobutton1.checked=true then label1.caption:='Frage - 1b';
if radiobutton2.checked=true then label1.caption:='Frage - 1b';
if radiobutton3.checked=true then label1.caption:='Frage - 1b';
if radiobutton4.checked=true then label1.caption:='Frage - 1b';

if radiobutton1.checked=true then aufgabe_2_im.visible:=true;
if radiobutton2.checked=true then aufgabe_2_im.visible:=true;
if radiobutton3.checked=true then aufgabe_2_im.visible:=true;
if radiobutton4.checked=true then aufgabe_2_im.visible:=true;

if radiobutton1.checked=true then loesung_2_a_im.visible:=true;
if radiobutton2.checked=true then loesung_2_a_im.visible:=true;
if radiobutton3.checked=true then loesung_2_a_im.visible:=true;
if radiobutton4.checked=true then loesung_2_a_im.visible:=true;

if radiobutton1.checked=true then loesung_2_b_im.visible:=true;
if radiobutton2.checked=true then loesung_2_b_im.visible:=true;
if radiobutton3.checked=true then loesung_2_b_im.visible:=true;
if radiobutton4.checked=true then loesung_2_b_im.visible:=true;

if radiobutton1.checked=true then loesung_2_c_im.visible:=true;
if radiobutton2.checked=true then loesung_2_c_im.visible:=true;
if radiobutton3.checked=true then loesung_2_c_im.visible:=true;
if radiobutton4.checked=true then loesung_2_c_im.visible:=true;

if radiobutton1.checked=true then loesung_2_d_im.visible:=true;
if radiobutton2.checked=true then loesung_2_d_im.visible:=true;
if radiobutton3.checked=true then loesung_2_d_im.visible:=true;
if radiobutton4.checked=true then loesung_2_d_im.visible:=true;
//----------------------------------------------------------------------------//
// Aufgabenbewertung //
if radiobutton1.checked=true then zaehler_falsch:=+1;
if radiobutton2.checked=true then zaehler_falsch:=+1;
if radiobutton3.checked=true then zaehler_falsch:=+1;
if radiobutton4.checked=true then zaehler_richtig:=+1;

if radiobutton1.checked=true then Aufgabe_1_falsch:=1;
if radiobutton2.checked=true then Aufgabe_1_falsch:=1;
if radiobutton3.checked=true then Aufgabe_1_falsch:=1;
if radiobutton4.checked=true then Aufgabe_1_richtig:=1;
// Ende des Vorganges //
//----------------------------------------------------------------------------//
// Den Aufgabentext ändern //
if radiobutton1.checked=true then aufgabe_2_dic.visible:=true;
if radiobutton2.checked=true then aufgabe_2_dic.visible:=true;
if radiobutton3.checked=true then aufgabe_2_dic.visible:=true;
if radiobutton4.checked=true then aufgabe_2_dic.visible:=true;
// Ende des Vorganges //
//----------------------------------------------------------------------------//
// Checkboxes entchecken //
if radiobutton1.checked=true then radiobutton1.checked:=false;
if radiobutton2.checked=true then radiobutton2.checked:=false;
if radiobutton3.checked=true then radiobutton3.checked:=false;
if radiobutton4.checked=true then radiobutton4.checked:=false;
// Ende des Vorganges //
//----------------------------------------------------------------------------//
end;


für aufgabe 3 hab ich einfach den quelltext von aufgabe 2 kopiert und statt 2 eine 3 überall hingeschrieben. das sind alles bilder mit den einzelnen lösungen und fragen, außer aufgabe_2_dic das ist ein richtext feld , ich arbeite übrigens mit Delphi 5 könnt ihr mir helfen???
Code&Titel geändert-FuckRacism

RomanK 6. Okt 2002 17:02

Ich hab deinen Code mal etwas vereinfacht!
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
// wenn eine Lösung eingegeben wurde
if (radiobutton1.checked) or (radiobutton2.checked) or (radiobutton3.checked) or (radiobutton4.checked)
then begin
label7.caption:=' ';
label1.caption:='Frage - 1b';
aufgabe_2_im.visible:=true;
loesung_2_a_im.visible:=true;
loesung_2_b_im.visible:=true;
loesung_2_c_im.visible:=true;
loesung_2_d_im.visible:=true;
aufgabe_2_dic.visible:=true;
end
else
//wenn nicht
label7.caption:='Bitte zuerst eine Antwort auswählen!';
//wars richtig ??
if (radiobutton1.checked) or (radiobutton2.checked) or (radiobutton3.checked)
 then zaehler_falsch:=+1;
if radiobutton4.checked then zaehler_richtig:=+1;

if (radiobutton1.checked) or (radiobutton2.checked) or (radiobutton3.checked)
then Aufgabe_1_falsch:=1;
if radiobutton4.checked=true then Aufgabe_1_richtig:=1;
//Radiobuttons entchecken
radiobutton1.checked:=false;
radiobutton2.checked:=false;
radiobutton3.checked:=false;
radiobutton4.checked:=false;
end;
PS: ich habe es ned geteste also ohne Gewähr.
PSS: Ich hab den Code nur anderst dargestellt, nicht die Funktion des Codes verändert!!!

Du willst doch zaehler_richtig erhöhen, oder ?? das geht aber mit +1 nicht!
Mach das entweder mit
Code:
zaehler_richtig:=zaehler_richtig+1;
oder
Code:
inc(zaehler_richtig);

Maverick 6. Okt 2002 17:11

thx ich bin nen programmier anfänger des wegen sieht des wohl so aus

RomanK 6. Okt 2002 17:22

HI
außerdem würde ich bei einer Neuen Frage nicht das Alte TImage verstecken und ein Neues anzeigen sodern in das Alte einfach per
image1.Picture.LoadFromFile(<<Dein Bild>>); ein Neues Bild einladen!

Maverick 6. Okt 2002 17:45

stimmt ist besser thx

Maverick 6. Okt 2002 17:49

jo dein quellcode funktioniert

Maverick 6. Okt 2002 18:29

ich hab wieder ein problem: du hast mir zwar den quellcode erheblich vereinfacht aber der will immer noch nicht aufgabe 3 anzeigen, die will ich auch in TImages anzeigen lassen, aber ich weiss neicht wie ich dem PC sagen soll das er mit dem selben button mit dem er aufgabe 2 aufgerufen hat auch aufgabe 3 auf rufen soll kannst du nmir helfen??

Daniel B 6. Okt 2002 18:34

Hi,

da Du mit dem Druck auf den gleichen Button unterschiedliche sachen machen möchtest, könntest Du eine globale Intergervariable Deklarieren und bei jeden Druck um +1 erhöhen.
Dann musst Du nur noch abfragen welchen Wert die Var hat und kannst so verschiedene sachen mit dem gleichen Button machen.

Grüsse, Daniel :hi:

Maverick 6. Okt 2002 18:40

Globale interwas??? kannst du mir das näher erklären wie man das macht?? bin anfänger in sachen programmieren

Daniel B 6. Okt 2002 18:49

Hi,

eine intergelaktische Variable!
Nein, ein globale Integer Variable.

Ganz oben vor dem Implementation steht ein var.
Da ist z.B. Form: TForm; aufgelistet.
Da drunter schreibst Du Deine Variable rein:

Nenn sie wie Du willst.

MyVar: Integer; //Das ist nun eine globale Integer Variable. Sprich im "ganzen" Porgramm bekannt.

Immer wenn Du den Button klickst, erhöhst Du diese Variable um 1.

MyVar := MyVar +1; //Also in der Proz. des Buttons

drunter kommt jetzt Dein normaler Code.
Jetzt brauchst Du nur noch abfragen welchen Wert die Var hat.

if MyVar = 1 then
begin
tue.dies := und.das
end
else if = 2 then
begin
tue.jetzt := was.anderes;
end
else if ..........

Soweit KLar?

Grüsse, Daniel :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr.
Seite 1 von 2  1 2      

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