Autor |
Beitrag |
pascal4free
Beiträge: 47
Win2000
D8SSL
|
Verfasst: Mi 08.09.04 22:02
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.
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
Falls es jemand interessiert findet er hier 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
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
Beiträge: 109
|
Verfasst: Mi 23.03.05 21:35
Titel: Quelltext?
Hast du auch den Quelltext dafür. Das heist ja net umsonst "Open Source"
|
|
raziel
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: 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
_________________ JSXGraph
|
|
FlameDiver
Beiträge: 104
WIN XP
D6 Pers
|
Verfasst: 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
_________________ From Hell and back again
|
|
ScorpionKing
Beiträge: 1150
Win XP
|
Verfasst: Fr 25.03.05 08:27
Ist ganz gut gelungen!
MfG, ScorpionKing!
_________________ Aus dem Urlaub zurück!
|
|
Spieler1
Beiträge: 469
D6 Pers
|
Verfasst: Di 29.03.05 16:31
|
|
huhn
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Di 29.03.05 16:46
Ich ahb au mal einen gemacht: huhnau.funpic.de/Uploads/VokaTrainer.exe mit Wörterliste als txt datei: 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
mfg huhn
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
|
|
lightning
Hält's aus hier
Beiträge: 3
|
Verfasst: 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
|
|
Marc Walter
Beiträge: 40
Win98, WinXP
D2 Pers, D7 Pers
|
Verfasst: Do 07.04.05 13:19
guggst du hier, ich glaub du suchsch sowas: www.delphi-forum.de/...t=textdatei+einlesen
_________________ möp
|
|
huhn
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Do 07.04.05 14:26
@lightningDes is mal der Quelltext von meinen Vokabeltrainer:
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°!
mfg huhn
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
|
|
lightning
Hält's aus hier
Beiträge: 3
|
Verfasst: Do 07.04.05 18:33
vielen dank, genau das hab ich gesucht
|
|
Silberwolf
Beiträge: 306
Win XP Home SP2
D5 Prof, D2k5 Pers
|
Verfasst: Do 07.04.05 18:42
Oooh ja, für nen Vokalbtrainer wäre ich auch, ganz klar !
Blos ich kanns nicht runterladen.
Bei mir geht der Link net, wenns der is
_________________ Gestorben, aber nicht vergessen...
|
|
lightning
Hält's aus hier
Beiträge: 3
|
Verfasst: Fr 08.04.05 13:04
jo, wär nett wenn du den nochmal uppen könntest, ich wollte auch nochmal was gucken.
|
|
muppet max
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 16.04.06 17:28
|
|
sebjensen
Hält's aus hier
Beiträge: 14
Win XP, Suse Linux 9.3
Dephi 6.0
|
Verfasst: Do 22.06.06 08:27
Ich würde den auch gerne nochmal downloaden.
Aber leider geht der Download immer noch nicht.
|
|