AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Stundenplan programmiert mit zweidimensionalen Arra's
Thema durchsuchen
Ansicht
Themen-Optionen

Stundenplan programmiert mit zweidimensionalen Arra's

Ein Thema von User1223 · begonnen am 13. Dez 2015 · letzter Beitrag vom 14. Dez 2015
Antwort Antwort
User1223

Registriert seit: 13. Dez 2015
Ort: Unstruht-Hainich-Kreis
1 Beiträge
 
Delphi 6 Professional
 
#1

Stundenplan programmiert mit zweidimensionalen Arra's

  Alt 13. Dez 2015, 22:10
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!

MFG User1223
Angehängte Dateien
Dateityp: dpr Stundenplan.dpr (214 Bytes, 3x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Stundenplan programmiert mit zweidimensionalen Arra's

  Alt 13. Dez 2015, 22:35
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#3

AW: Stundenplan programmiert mit zweidimensionalen Arra's

  Alt 14. Dez 2015, 08:31
Ausserdem heisst es Array und der Plural davon ist konsequenterweise Arrays.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#4

AW: Stundenplan programmiert mit zweidimensionalen Arra's

  Alt 14. Dez 2015, 08:37
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.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Stundenplan programmiert mit zweidimensionalen Arra's

  Alt 14. Dez 2015, 09:04
So - hat nach der Deutsch-Stunde jemand noch eine Idee zur Sache an sich?
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Stundenplan programmiert mit zweidimensionalen Arra's

  Alt 14. Dez 2015, 09:07
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#7

AW: Stundenplan programmiert mit zweidimensionalen Arra's

  Alt 14. Dez 2015, 09:16
hallo,

hab ein wenig geraten, aber vielleicht hilft es

Delphi-Quellcode:

function 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;
mfg
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  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 00:48 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