Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Krass-O-Mat für Lehrer (https://www.delphipraxis.net/39556-krass-o-mat-fuer-lehrer.html)

Ajintaro 4. Feb 2005 12:06


Krass-O-Mat für Lehrer
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Ich wollte einem guten Freund (der etwas weniger Delphi Erfahrung hat als meine bescheidene) ein kleinwenig helfen ein Programm zu erstellen. Das Proggie soll einen Lehrer unterstützen. Wer kennt das als Lehrer nicht? Seid jahren die gleichen Fächer, Themen und Fragen. Alles fliegt wild verteilt in irgendwelchen Word-Dokumenten umher, wann wurde die Frage zuletzt gestellt?, bin ich noch mit meinen Fragen im Bearbeitungszeitraum, wieviele Punkte ist die Frage Wert? etc

Dies alles soll mit dem erstellten tool von mir ein Ende haben. Das Proggie hat 2 Modi:

a) Der Pflege Bereich
Der Nutzer erstellt seinen Datenpool OHNE Datenbank. Ich hab das mit ganz normalen Dateien im ini-Style gelöst. D.H. der Dateiname = Name des Faches. Da kann ich bequem mit Sektions arbeiten, war für mich auf die Schnelle das brauchbarste.
Mal legt sein Arbeitsverzeichnis fest und schon kann man sich seine Struktur in diesem Arbeitsverzeichnis erstellen, ist kein Arbeitsverzeichnis vorhanden wirds erstellt.
Man kann auch eine bereits erstellte Struktur in sein Arbeitsverzeichnis übernehmen und damit weiterarbeiten.

b) Der Nutzungsbereich
Hier "klickt" sich der Nutzer seine Fragen zurecht, zuvor wählt er ein Fach, das zugehörige Thema und dann öffnet sich der Fragenpool mit den ganzen Parametern. Mit Checkboxen dann einfach die Fragen auswählen und man erhält Infos wann die Frage zuletzt gestellt wurde, ihren Punktewert und wie lange man Zeit hat für die Beantwortung - so kann man sich schnell z.B. eine Arbeit über Erdkunde für 45 Minuten und max. 30 erreichbaren Punkten zusammenstellen.

Die Realität sieht etwas tricky aus und ich erleide an vielen kleinen Stellen Schiffbruch. Es fängt damit an dass ich die gefundenen Einträge net korrekt zählen kann, bin sogar zu blöd anscheinend ein einfaches File auf der Platte zu löschen... geht net!

Wenn einer von euch mal bissle zeit und Interesse hat kann sichs gern anschauen. Den Quelltext hab ich dokumentiet, der code ist sehr simpel und mit sicherheit wirds euch profis zum lachen bringen....

Ich würd das Ding gern fertigmachen, nur kann ich einiges nicht so einfach lösen...

Gruss Ajin

Kernel32.DLL 4. Feb 2005 16:24

Re: Krass-O-Mat für Lehrer
 
Zitat:

Zitat von Ajintaro
Den Quelltext hab ich dokumentiert...

Daran scheitern schon die Meisten. (Ja, ich auch manchmal :oops: )

Zitat:

Zitat von Ajintaro
der code ist sehr simpel...

Je einfacher, desto besser...

Zitat:

Zitat von Ajintaro
und mit sicherheit wirds euch profis zum lachen bringen....

Nö, wirds nicht. Hier wird keiner ausgelacht. Außer, er benimmt sich dermaßen daneben, dass es gar nicht anders geht... :zwinker:

Zitat:

Zitat von Ajintaro
Ich würd das Ding gern fertigmachen, nur kann ich einiges nicht so einfach lösen...

Drei Möglichkeiten:
  • Du suchst hier im Forum nach Lösungen für deine Probleme (bei über 300000 Beiträgen ist sicher auch was für dich dabei)
  • Du erstellst für jedes deiner Probleme einen neuen Thread
  • Du fragst mich

*Programm 'runterlad*

Ajintaro 8. Feb 2005 09:54

Re: Krass-O-Mat für Lehrer
 
So die rote Pappnase ist im Schrank, es wird wieder ernst!

Mal ein auszug vom dem was net so geht:

Der Fächer-löschen Button geht nicht. Der Eintrag wird zwar aus der Listbox entfernt, nur ist die Datei immer noch auf der Festplatte. Gleichzeitig soll das Selektieren eines Faches direkt die dazugehörigen Themen in die andere Listbox schreiben

Hier der Code um einen eintrag auszuwählen und die Themen auszulesen

Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
//
//  selektieren und staunen!
//
procedure Tpflege.ListIniFileClick(Sender: TObject);
var
    titel_tmp : Array[0..200] of Char; //temporäres Array vom typ Char erzeugen
    iLoop, jLoop : Integer;
    S : String;
begin
 eintrag:=ListIniFile.Items[ListIniFile.Itemindex];
 ILoop := Getprivateprofileint('Kennung','Anzahl Themen:',0,Pchar(eintrag));
 ListBox1.items.Clear;
 if ILoop > 0 then
 begin
   for JLoop := 1 to ILoop do
   Begin
     S := IntToStr(JLoop);
     if JLoop < 10 then S := '0' + S;
     GetprivateprofileString(PChar('Thema: ' + S),'titel','',titel_tmp,200,Pchar(eintrag));
     Edit_titel.Text:=strpas(titel_tmp);
     ListBox1.items.Add(strpas(titel_tmp))
   end;
 end;
end;
Hier der Code um das File zu löschen

Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
//
//  files löschen!
//
procedure Tpflege.sp_deleteClick(Sender: TObject);
begin

  //Prüfen ob etwas selektiert wurde
  if eintrag = '' then
  begin
   Showmessage('Keinen Eintrag ausgewählt!');
   exit;
  end
    else
      begin
       if MessageDlg('Soll das Fach "'+ eintrag + '" wirklich gelöscht werden?',
          mtConfirmation, [mbYes, mbNo],0) = mrYes then
        begin
          //eintrag löschen (das file auf der pladde, digger!)
          DeleteFile(eintrag);
          //selektierten Eintrag aus Liste enfernen!
          ListIniFile.DeleteSelected;
          //counterchen breücksichtigen
          label_anzahl_faecher.Caption:= IntToStr(ListIniFile.Items.Count);
        end;
     end;
end;

Grumble 8. Feb 2005 10:12

Re: Krass-O-Mat für Lehrer
 
hi,

nur mal schnell so zum loeschen von files:

meistens kann man ein file nicht loeschen weil es noch geoeffnet ist. bau mal sowas in deine file loeschen precedure ein:
'wenn file noch geoeffnet dann closefile'
dann erst die delete anweisung

Ajintaro 8. Feb 2005 10:28

Re: Krass-O-Mat für Lehrer
 
Ok ich hab mir das mal genauer angeschaut, das Löschen klappt nun - Der Pfad zur löschenden Datei war nicht richtig. :coder2:

s14 8. Feb 2005 10:33

Re: Krass-O-Mat für Lehrer
 
Man könnte natürlich allgemein einen Fehler abfangen und das Item auch erst entfernen wenn der Löschvorgang erfolgreich war.

Delphi-Quellcode:
if DeleteFile(eintrag)
  then ListIniFile.DeleteSelected
  else showmessage(SysErrorMessage(GetLastError));

vlees91 18. Feb 2005 17:54

Re: Krass-O-Mat für Lehrer
 
habe noch nicht richtig zeit gehabt, aber ich werde dann meinen beitrag editieren... (also keine kritik)
der eigentliche inhalt dieses beitrag: du hast ein semikolon vergessen. kann aber jedem passieren


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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