AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Krass-O-Mat für Lehrer
Thema durchsuchen
Ansicht
Themen-Optionen

Krass-O-Mat für Lehrer

Ein Thema von Ajintaro · begonnen am 4. Feb 2005 · letzter Beitrag vom 18. Feb 2005
Antwort Antwort
Benutzerbild von Ajintaro
Ajintaro
Registriert seit: 20. Okt 2004
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
Angehängte Dateien
Dateityp: zip dp_140.zip (58,0 KB, 87x aufgerufen)
DAoC 2.0 -> Camelot Unchained !
 
Kernel32.DLL
 
#2
  Alt 4. Feb 2005, 16:24
Zitat von Ajintaro:
Den Quelltext hab ich dokumentiert...
Daran scheitern schon die Meisten. (Ja, ich auch manchmal )

Zitat von Ajintaro:
der code ist sehr simpel...
Je einfacher, desto besser...

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...

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*
  Mit Zitat antworten Zitat
Benutzerbild von Ajintaro
Ajintaro

 
Delphi XE6 Starter
 
#3
  Alt 8. Feb 2005, 09:54
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;
Jaimy
  Mit Zitat antworten Zitat
Benutzerbild von Grumble
Grumble

 
Delphi 6 Enterprise
 
#4
  Alt 8. Feb 2005, 10:12
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
  Mit Zitat antworten Zitat
Benutzerbild von Ajintaro
Ajintaro

 
Delphi XE6 Starter
 
#5
  Alt 8. Feb 2005, 10:28
Ok ich hab mir das mal genauer angeschaut, das Löschen klappt nun - Der Pfad zur löschenden Datei war nicht richtig.
Jaimy
  Mit Zitat antworten Zitat
s14

 
Delphi 7 Architect
 
#6
  Alt 8. Feb 2005, 10:33
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));
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

 
Turbo Delphi für Win32
 
#7
  Alt 18. Feb 2005, 17:54
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
vlees91
  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 23:29 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