![]() |
Stundenplan programmiert mit zweidimensionalen Arra's
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leute,
ich möchte mein Stundenplan mit zweidimensionalen Arra's Visualisieren und habe auch schon angefangen: Quelltext: begin canvas.Font.Color:=clred; for stunde:=0 to 8 do canvas.TextOut(20,50+stunde*20,IntToStr(Stunde)); for tag:=Mo to Fr do canvas.TextOut(50+ord(tag)*100,20,Wochentag[tag]); canvas.Font.Color:=clblack; for stunde:=0 to 8 do for tag:=Mo to Fr do canvas.TextOut(60+ord(tag)*100,50+stunde*20,Stunde nplan[stunde,tag]); nun möchte ich das eine Funktion "Wochenstunden" zählt nach der Übergabe eines Fachnamens die Wochenstundenanzahl in diesem Fach und dass nach der Übergabe eines Fachnamens Tag und Stunde ausgegeben wird, an dem ein bestimmtes Fach haben (Prozedur "Fachausgabe"). Die "Klappstunden", die Stunden, die mitten zwischen anderen Schulstunden frei sind sollen auch ausgegeben werden. Ich habe schon Prozeduren vorgeschrieben: function TFStundenplan.Wochenstunden(Fachname: string): integer; var stunde:TStunde; tag:TTage; begin // Hier den Quelltext ergänzen end; procedure TFStundenplan.BWochenstundenClick(Sender: TObject); begin showmessage('Sie haben '+IntToStr(Wochenstunden(EFachname.text))+ ' Stunden '+EFachname.text+'!'); end; procedure TFStundenplan.BFachausgabeClick(Sender: TObject); var stunde:TStunde; tag:TTage; gefunden:boolean; begin // Hier den Quelltext ergänzen end; function TFStundenplan.Klappstunden(Stundenplan: TStundenplan): integer; var stunde:TStunde; tag:TTage; anzahl:integer; begin // Hier den Quelltext ergänzen end; procedure TFStundenplan.BKlappstundenClick(Sender: TObject); begin showmessage('Sie haben '+IntToStr(Klappstunden(Stundenplan))+' Klappstunden!'); end; end. Ich lade euch die .dpr als anhang hoch wäre nice wenn ihr mir eine Antwort geben könntet:wink:! MFG User1223 :) |
AW: Stundenplan programmiert mit zweidimensionalen Arra's
Fass bitte deinen Cod ein Delphi-Tags. Das ist der Helm im Editor.
Nur mal zur Info, was du hochgeladen hast:
Delphi-Quellcode:
program Stundenplan;
uses Forms, UHaupt in 'UHaupt.pas' {FStundenplan}; {$R *.res} begin Application.Initialize; Application.CreateForm(TFStundenplan, FStundenplan); Application.Run; end. |
AW: Stundenplan programmiert mit zweidimensionalen Arra's
Ausserdem heisst es Array und der Plural davon ist konsequenterweise Arrays.
|
AW: Stundenplan programmiert mit zweidimensionalen Arra's
Was sind denn Arra's
Wahrscheinlich meinst du Arrays. Entgegen einer weitverbreiteten Unsitte wird in der deutschen und auch in der englischen Sprache das Plural-s ohne ' angehängt. Sonst müsste es ja auch Window's heißen.:warn: |
AW: Stundenplan programmiert mit zweidimensionalen Arra's
So - hat nach der Deutsch-Stunde jemand noch eine Idee zur Sache an sich?
|
AW: Stundenplan programmiert mit zweidimensionalen Arra's
Wie sieht denn Dein Array aus? Die Stunden allein als Zahlenwert reichen ja nicht, Du brauchst ja offenbar eine Zuordnung von Stunde zu Fach.
Viele Wege führen nach Rom - ich denke, dass für Dich der Weg über Records geeignet sein könnte. Ein Record, in dem Du Stunden und Fach als Tupel festhältst und Dir dann Dein Array von diesem Tupel bildest. Das wird Dich zum Ziel bringen und Dir - bei Interesse - auch noch etwas Luft nach oben für etwas ausgefeiltere Lösungen lassen. |
AW: Stundenplan programmiert mit zweidimensionalen Arra's
hallo,
hab ein wenig geraten, aber vielleicht hilft es
Delphi-Quellcode:
mfgfunction TFStundenplan.Wochenstunden(Fachname: string): integer; var stunde:TStunde; tag:TTage; begin // Hier den Quelltext ergänzen result:=0; for stunde:=0 to 8 do begin for tag:=Mo to Fr do begin if Stundenplan[stunde,tag] = fachname then inc(result); end; end; end; procedure TFStundenplan.BFachausgabeClick(Sender: TObject); begin // Hier den Quelltext ergänzen //Wie willst du jetzt auf ein konkretes Fach klicken //Wenn du beispielsweise ein Stringgrid zur Anzeige verwenden würdest , //könntest du beim Click auf ein konkretes Fach alle Stunden mit demselben Fach mit einem anderen farblichen Hintergrund ausgeben end; function TFStundenplan.Klappstunden(Stundenplan: TStundenplan): integer;//Warum übergibst du hier als Parameter den Stundenplan und bei den Fachstunden nicht? var stunde, stunde1:TStunde; tag:TTage; stundeVorher,StundeNachher:Boolean; begin // Hier den Quelltext ergänzen result:=0; for tag:=Mo to Fr do begin stundeVorher:=false; StundeNachher:=False; for stunde:=0 to 8 do begin //Freistunde(Klappstunde)='' ???? if Stundenplan[stunde,tag] <> '' then stundeVorher:=true else begin if stundeVorher then begin for stunde1:=stunde+1 to 8 do begin if Stundenplan[stunde1,tag] <> '' then begin stundeNachher:=true; break; end; end; if stundeNachher then inc(result); end; end; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz