Entwickler-Ecke
Open Source Projekte - Vokabeltrainer
pascal4free - Mi 08.09.04 22:02
Titel: Vokabeltrainer
Hi,
habe mich gerade erst angemeldet, und wollte euch mal mein erstes größeres Programm vorstellen. Da es mir mit der Zeit auf die Nerven ging, das wir in Englisch LK Vokabelkarteien anlegen sollten, dachte ich mir, schreib ich ein entsprechendes Programm für den PC. Mag zwar sein das es das schon gibt, aber mit irgendwas musste ich mich ja fit halten /fortbilden in Sachen Delphi (im Info Lk lernt man in den ersten 2 Wochen nicht wirklich viel *g*). Raus kam bei der ganzen Sache das
hier [
http://www.crazy-mods.com/progs/Vokabeltrainer.rar].
Ich muss sagen das ich während ich dieses Programm entwickelt habe, ich einiges komplett neu gelernt habe, so das evt nicht alle gegebene Möglichkeiten bestimmter Dinge ausgenutzt sind. Auch ist das Programm momentan noch für Fremde wohl eher schwer zu lesen (kaum Kommentare) werde ich aber auch noch ändern. Einige Extensions (s. Hilfe) sind auch schon in Planung, natürlich bleibt das alles für jeden frei zugänglich, dank SSL-Lizenz dürfte ich es ja nicht mal verkaufen :D
Falls es jemand interessiert findet er
hier [
http://www.crazy-mods.com/progs/] auch noch gelegentlich andere Programme von mir. (Teils irgendwelche Sachen für die Schule)
So, genug geschrieben denke ich, lasst mal hören was ich so alles falsch gemacht hab :wink:
Pascal
Edit: war mit der Kategorie etwas voreilig, falls ein Mod zeit hat, könnte er es vielleicht kurz in Open-source verschieben :oops:
Moderiert von
UGrohne: Topic aus Freeware Projekte verschoben am Do 09.09.2004 um 08:01
Chris Maslowski - Mi 23.03.05 21:35
Titel: Quelltext?
Hast du auch den Quelltext dafür. Das heist ja net umsonst "Open Source"
raziel - Mi 23.03.05 22:22
raziel's step-by-step Tutorial "Wie komme ich an den Source":
- Vokabeltrainer.rar downloaden (Link siehe oben)
- Entpacken in ein Verzeichnis deiner Wahl
- Ins Verzeichnis wechseln
- sich am Open-Source erfreuen
;)
FlameDiver - Do 24.03.05 14:11
Hi,
das programm gefällt mir.
Nur manchmal macht der nicht die nächste Vokabel... sehr komisch... mit Zurück geht er auch nicht zur vorherigen Vokabel.
du könntest noch einbauen das immer eine zufäälige Vokabel kommt. den ist es nicht immmer die gleiche Vokabelreinfolge
ScorpionKing - Fr 25.03.05 08:27
Ist ganz gut gelungen!
MfG, ScorpionKing!
Spieler1 - Di 29.03.05 16:31
raziel hat folgendes geschrieben: |
raziel's step-by-step Tutorial "Wie komme ich an den Source":
- Vokabeltrainer.rar downloaden (Link siehe oben)
- Entpacken in ein Verzeichnis deiner Wahl
- Ins Verzeichnis wechseln
- sich am Open-Source erfreuen
;) |
Hey, das Tutorial ist wirklich gelungen. Könnte zwar etwas ausführlicher sein. :lol: :mrgreen:
huhn - Di 29.03.05 16:46
Ich ahb au mal einen gemacht:
http://huhnau.funpic.de/Uploads/VokaTrainer.exe mit Wörterliste als txt datei:
http://huhnau.funpic.de/Uploads/engswordsback.txt
bis auf en paar kleinigkeiten find ich deinen aber au net schlecht
-könnte immer gleich die nächste vokabel kommen
-enter taste wär net schlecht
-und schummeln kann man auch(wenn falsch wirds richtig angezeigt,dann kann man es schreiben und er sagt richtig)
also wie gesagt fürs erste net schlecht :wink:
mfg huhn
lightning - Do 07.04.05 12:14
hi leute, bin auch gerade am vokabeltrainer basteln. in dem beispiel hier wird die vokabel-datenbank in eine .ini datei gespeichert. kann mir jemand sagen, wie ich das in eine .txt datei bekommen, so dass die auch korrekt wieder ausgelesen wird ?
thx für eure hilfe
huhn - Do 07.04.05 14:26
@lightningDes is mal der Quelltext von meinen Vokabeltrainer:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus;
type twords=record englisch:tstringlist; deutsch:tstringlist; gewusst:array of boolean; end;
type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; MainMenu1: TMainMenu; Datei1: TMenuItem; Options1: TMenuItem; Ende1: TMenuItem; EnglischDeutsch1: TMenuItem; DeutschEnglisch1: TMenuItem; Open1: TMenuItem; Save1: TMenuItem; Beenden1: TMenuItem; Neustart1: TMenuItem; Label1: TLabel; Label2: TLabel; Drucken1: TMenuItem; Button1: TButton; WahrLabel: TLabel; Info1: TMenuItem; OD: TOpenDialog; AnzahlLabel: TLabel; Button2: TButton; SD: TSaveDialog; ipp1: TMenuItem; procedure Ende1Click(Sender: TObject); procedure EnglischDeutsch1Click(Sender: TObject); procedure DeutschEnglisch1Click(Sender: TObject); procedure Beenden1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Info1Click(Sender: TObject); procedure Open1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Neustart1Click(Sender: TObject); procedure Save1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormKeyPress(Sender: TObject; var Key: Char); procedure ipp1Click(Sender: TObject); private procedure beenden; procedure check; public end;
var Form1: TForm1; worter:twords; newwords:tstringlist; count,aktuelle,komplett:integer;
implementation
{$R *.dfm}
procedure tform1.check; var zwischenspeicher:integer; begin if komplett=count then begin showmessage('Bitte bei Options Reset drücken!'); exit; end; if button1.Caption='Next!' then begin newwords.Add(edit1.Text); newwords.add(edit2.Text); Anzahllabel.Caption:='Wörter:'+inttostr(newwords.count div 2); edit2.Clear; edit1.Clear; end else begin if worter.englisch.Count=0 then exit; if deutschenglisch1.Checked=true then begin if edit2.Text=worter.englisch[aktuelle] then begin wahrlabel.Caption:='Richtig!'; worter.gewusst[aktuelle]:=true; komplett:=komplett+1; end else begin wahrlabel.Caption:='Falsch!'; showmessage('Richtig: '+worter.englisch[aktuelle]); end; if komplett=count then begin showmessage('Du bist fertig und hast alles gewusst!'); exit; end; repeat randomize; zwischenspeicher:=random(count); until ((worter.gewusst[zwischenspeicher]=false) and (aktuelle<>zwischenspeicher)); aktuelle:=zwischenspeicher; edit1.Text:=worter.deutsch[aktuelle]; edit2.Text:=''; end; if englischdeutsch1.Checked=true then begin if edit2.Text=worter.deutsch[aktuelle] then begin wahrlabel.Caption:='Richtig!'; worter.gewusst[aktuelle]:=true; komplett:=komplett+1; end else begin wahrlabel.Caption:='Falsch!'; showmessage('Richtig: '+worter.deutsch[aktuelle]); end; if komplett=count then begin showmessage('Du bist fertig und hast alles gewusst!'); exit; end; repeat randomize; zwischenspeicher:=random(count); until ((worter.gewusst[zwischenspeicher]=false) and (aktuelle<>zwischenspeicher)); aktuelle:=zwischenspeicher; edit1.Text:=worter.englisch[aktuelle]; edit2.Text:=''; end; end; end; procedure tform1.beenden; begin Close; end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin key:= #0; check; end; end;
procedure TForm1.Ende1Click(Sender: TObject); begin beenden; end;
procedure TForm1.EnglischDeutsch1Click(Sender: TObject); begin if Englischdeutsch1.Checked=false then begin deutschenglisch1.Checked:=false; Englischdeutsch1.Checked:=true; Label1.Caption:='Englisch:'; label2.Caption:='Deutsch:'; edit1.Text:=worter.englisch[aktuelle]; end end;
procedure TForm1.DeutschEnglisch1Click(Sender: TObject); begin if deutschenglisch1.Checked=false then begin Englischdeutsch1.Checked:=false; deutschenglisch1.Checked:=true; Label1.Caption:='Deutsch:'; label2.Caption:='Englisch:'; edit1.Text:=worter.deutsch[aktuelle]; end end;
procedure TForm1.Beenden1Click(Sender: TObject); begin beenden; end;
procedure TForm1.Button1Click(Sender: TObject); begin check; end;
procedure TForm1.Info1Click(Sender: TObject); begin showmessage('Proggt by Huhn!'); end;
procedure TForm1.Open1Click(Sender: TObject); var u:integer; F1:textfile; loadword:string; begin worter.englisch.Clear; worter.deutsch.Clear; count:=0; od.Filter:='Textdatei|*.txt'; if od.Execute then begin assignfile(f1,od.filename); reset(f1); while not SeekEof(f1) do begin Readln(f1,loadword); worter.englisch.Add(loadword); Readln(f1,loadword); worter.deutsch.Add(loadword); count:=count+1; end; closefile(f1); anzahllabel.Caption:='Wörter:'+inttostr(count); setlength(worter.gewusst,count-1); for u:=0 to count-1 do begin worter.gewusst[u]:=false; end; end; randomize; aktuelle:=random(count-1); if deutschenglisch1.Checked=true then edit1.text:=worter.deutsch[aktuelle] else edit1.text:=worter.englisch[aktuelle]; end;
procedure TForm1.FormCreate(Sender: TObject); begin Label1.Caption:='Deutsch:'; label2.Caption:='Englisch:'; worter.englisch:=tstringlist.Create; worter.deutsch:=tstringlist.Create; komplett:=0; end;
procedure TForm1.Neustart1Click(Sender: TObject); var r:integer; begin for r:=0 to count do begin worter.gewusst[r]:=false; end; komplett:=0; edit2.Text:=''; end;
procedure TForm1.Save1Click(Sender: TObject); begin label1.Caption:='Englisch:'; edit1.Enabled:=true; label2.Caption:='Deutsch:'; edit2.Enabled:=true;Button1.Caption:='Next!'; button2.Visible:=true; options1.Enabled:=false; Datei1.Enabled:=false; newwords:=tstringlist.Create;
showmessage('Oben Englisch, unten Deutsch! Dann auf "Next!" um weitere Wörter einzugeben oder "Fertig!Speichern!" um zu speichern!'); end;
procedure TForm1.Button2Click(Sender: TObject); begin sd.Filter:='Textfile|*.txt'; if sd.Execute then begin if FileExists(Sd.FileName) then begin if messagedlg('Vorhandene Datei überschreiben?',mtwarning, [mbyes,mbno],7) = mryes then newwords.SaveToFile(sd.filename); end else begin newwords.SaveToFile(sd.filename+'.txt'); end; newwords.clear; options1.Enabled:=true; Datei1.Enabled:=true; Button1.Caption:='Check!'; Button2.Visible:=false; edit1.Enabled:=false; showmessage('Wörter wurden gespeichert!'); end; end;
procedure TForm1.ipp1Click(Sender: TObject); var tipp:string; laenge,e:integer; begin e:=1; if deutschenglisch1.Checked=true then begin tipp:=worter.englisch[aktuelle]; laenge:=length(tipp); for e:=1 to laenge do begin if e mod 2=0 then begin if tipp[e]=' ' then tipp[e]:='-'; edit2.text:=edit2.Text+tipp[e]; end else begin if tipp[e]=' ' then edit2.text:=edit2.Text+'-' else edit2.text:=edit2.Text+'_'; end; end; end; if englischdeutsch1.Checked=true then begin tipp:=worter.deutsch[aktuelle]; laenge:=length(tipp); for e:=1 to laenge do begin if e mod 2=0 then begin if tipp[e]=' ' then tipp[e]:='-'; edit2.text:=edit2.Text+tipp[e]; end else begin if tipp[e]=' ' then edit2.text:=edit2.Text+'-' else edit2.text:=edit2.Text+'_'; end; end; end; end;
end. |
Ich hoffe du fängst was damit an°! :D
mfg huhn
lightning - Do 07.04.05 18:33
vielen dank, genau das hab ich gesucht ;)
Silberwolf - Do 07.04.05 18:42
Oooh ja, für nen Vokalbtrainer wäre ich auch, ganz klar :wink: !
Blos ich kanns nicht runterladen.
Bei mir geht der Link net, wenns der is
lightning - Fr 08.04.05 13:04
jo, wär nett wenn du den nochmal uppen könntest, ich wollte auch nochmal was gucken.
Delete - So 16.04.06 17:28
Ich wollte das Programm downloaden und dann:
Zitat: |
Not Found
The requested URL /progs/Vokabeltrainer.rar was not found on this server. |
:twisted: :evil: :twisted: :evil:
sebjensen - Do 22.06.06 08:27
Ich würde den auch gerne nochmal downloaden.
Aber leider geht der Download immer noch nicht.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!