Verfügbare Informationen zu "Englischvokabelverwalter"
Qualität des Beitrags: Beteiligte Poster: Dragorad - exbs - AQE89 Forum: Tutorials.at Forenbeschreibung: Programmierforum aus dem Unterforum: Pascal Antworten: 6 Forum gestartet am: Mittwoch 19.04.2006 Sprache: deutsch Link zum Originaltopic: Englischvokabelverwalter Letzte Antwort: vor 17 Jahren, 5 Monaten, 6 Tagen, 5 Stunden, 13 Minuten
Alle Beiträge und Antworten zu "Englischvokabelverwalter"
Re: Englischvokabelverwalter
Dragorad - 23.10.2006, 20:52Englischvokabelverwalter
Hi,
ich hab' mal ein Vokabelverwalter programmiert und wollte mal wissen, wie ihr ihn so findet!
Hier der Quelltext:
Code:
program vokabelverwalter_1;
uses crt,uminout;
const esc=#27;
hardflag:boolean=true;
type datensatztyp=record
voc_engl:string[27];
voc_d:string[27];
end;
karteityp=file of datensatztyp;
var karteidaten:datensatztyp;
kartei:karteityp;
karteinr,i:integer;
m1,m2,m3,m4,nr:word;
{------------------------------------------------------------------------}
PROCEDURE Maus;
ASSEMBLER;
ASM
MOV AX,m1
MOV BX,m2
MOV CX,m3
MOV DX,m4
INT $33
MOV m1,AX
MOV m2,BX
MOV m3,CX
MOV m4,DX
END;
procedure MausDa(nr:Word);
Inline($58/$cd/$33);
PROCEDURE MausReset;
BEGIN
IF Mem[MemW[0:$cc+2]:MemW[0:$cc]]<>$cf THEN
BEGIN
MausDa(0);
MausDa(1);
END
ELSE
BEGIN
Write('Maus nicht installiert! MOUSE.COM aufrufen! <Enter>');
ReadLn; Halt;
END;
END;
procedure MausData;
begin
m1:=3;
Maus;
end;
{------------------------------------------------------------------------}
procedure karteioeffnen;
begin
assign(kartei,'vokabeln.dat');
{$I-}reset(kartei);{$I+}
if IOresult<>0 then
begin
gotoxy(1,25);
write('Programmfehler: die Kartei konnte nicht ge”ffnet werden - Das Programm wurde beendet.');
halt;
end;
end;
procedure karteischliessen;
begin
close(kartei);
end;
procedure datensatzlesen(var ende:boolean);
begin
{$V-}
with karteidaten do
begin
voc_engl:='';voc_d:='';
clrscr;
write('englische Vokabel: ');
stringlesen(voc_engl,sizeof(voc_engl)-1);
ende:=voc_engl='';
if not ende then
begin
write('deutsche Vokabel: ');
stringlesen(voc_d,sizeof(voc_d)-1);
end;
end;
{$V+}
end;
procedure datensatzspeichern;
begin
seek(kartei,filesize(kartei));
write(kartei,karteidaten);
seek(kartei,filepos(kartei)-1);
end;
procedure datensatzladen(welcher:shortint);
var neuepos:integer;
begin
neuepos:=filepos(kartei)+welcher;
if (0<=neuepos) and (neuepos<=filesize(kartei)-1) then seek(kartei,neuepos);
read(kartei,karteidaten);
seek(kartei,filepos(kartei)-1);
end;
procedure datensatzschreiben;
begin
clrscr;
with karteidaten do
begin
writeln('ENGL: ',voc_engl);
writeln('D: ',voc_d);
end;
end;
procedure karteidateneinlesen;
var ende:boolean;
begin
textcolor(14);
writexy(2,1,'e');
textcolor(15);
gotoxy(1,25);
clreol;
write('zum Beenden bitte bei der Englischvokabel ENTER drcken');
openwindow(9,16,63,23);
repeat
datensatzlesen(ende);
if not ende then datensatzspeichern;
until ende;
clrscr;
window(1,1,80,25);
end;
procedure karteidatenausgeben;
var taste:char;
begin
textcolor(14);
writexy(15,1,'a');
textcolor(15);
gotoxy(1,25);
clreol;
write('(n)„chster (v)origer');
write('ESC-Ende':57);
openwindow(16,9,63,23);
datensatzladen(0);
writexynr(1,10,karteinr);
repeat
datensatzschreiben;
taste:=upcase(readkey);
case taste of
'N':begin
datensatzladen(+1);
karteinr:=karteinr+1;
end;
'V':begin
datensatzladen(-1);
karteinr:=karteinr-1;
end;
end;
until taste=esc;
window(1,1,80,25);
end;
procedure karteidatenbearbeiten;
var taste:char;
begin
repeat
clrscr;
textcolor(15);
writexy(1,1,'(e)ingeben (a)usgeben');
write('ESC-Ende':56);
for i:=1 to 80 do writexy(i,2,'Í');
writexy(1,3,'Vokabelverwaltung');
write('(c) 2006 Dragorad':62);
taste:=upcase(readkey);
case taste of
'E':karteidateneinlesen;
'A':karteidatenausgeben;
end;
until taste=esc;
end;
{------------------------------------------------------------------------}
begin repeat
window(1,1,80,25);
clrscr;
textcolor(15);
mausreset;
karteioeffnen;
karteidatenbearbeiten;
karteischliessen;
programmende;
until readkey='j';
end.
und hier die Unit:
Code:
unit uMInOut;
interface
uses crt;
const hardflag:boolean=true;
var m1,m2,m3,m4,nr:word;
karteinr:integer;
procedure writexy(x,y:byte;text:string);
procedure writexynr(x,y:byte;zahl:integer);
procedure openwindow(xo,yo,xu,yu:integer);
procedure openwindowende;
procedure programmende;
procedure stringlesen(var lesstr:string;maxlen:byte);
implementation
procedure writexy(x,y:byte;text:string);
begin
gotoxy(x,y);
write(text);
end;
procedure writexynr(x,y:byte;zahl:integer);
begin
gotoxy(x,y);
write(zahl);
end;
procedure openwindow(xo,yo,xu,yu:integer);
type zaehler=array[1..4] of byte;
var zahl:zaehler;
begin
window(xo,yo,xu,yu);
writexy(xo-1,yo-1,'É');
writexy(xo-1,yo+5,'È');
writexy(xu+1,yu-5,'»');
writexy(45,5,'¼');
for zahl[1]:=2 to 44 do writexy(zahl[1],1,'Í');
for zahl[2]:=2 to 44 do writexy(zahl[2],5,'Í');
for zahl[3]:=2 to 4 do writexy(1,zahl[3],'º');
for zahl[4]:=2 to 4 do writexy(45,zahl[4],'º');
gotoxy(2,1);
write('Kartei ',karteinr);
textcolor(14);
end;
procedure openwindowende;
type zaehler=array[1..4] of byte;
var zahl:zaehler;
x,y:integer;
begin
x:=30;y:=8;
writexy(x,y,'É');
writexy(x,y+4,'È');
writexy(x+20,y,'»');
writexy(x+20,y+4,'¼');
for zahl[1]:=x+1 to x+19 do writexy(zahl[1],y,'Í');
for zahl[2]:=x+1 to x+19 do writexy(zahl[2],y+4,'Í');
for zahl[3]:=y+1 to y+3 do writexy(x,zahl[3],'º');
for zahl[4]:=y+1 to y+3 do writexy(x+20,zahl[4],'º');
window(x,y,x+19,y+3);
textcolor(15);
end;
procedure programmende;
begin
openwindowende;
writexy(2,2,' Wirklich beenden?');
writexy(2,4,' Ja Nein');
end;
procedure stringlesen(var lesstr:string;maxlen:byte);
const ret=#13;
var ch:char;
i,x,y:byte;
begin
x:=wherex;
y:=wherey;
lesstr:='';
repeat
gotoxy(x,y);
write(lesstr);
for i:=length(lesstr)+1 to maxlen do write('_');
gotoxy(x+length(lesstr),y);
ch:=readkey;
if (length(lesstr)<maxlen) and (ch<>ret) then lesstr:=lesstr+ch;
until ch=ret;
writeln;
end;
end.
[/code]
Re: Englischvokabelverwalter
exbs - 23.10.2006, 22:40
mmmh also ich kann leider nicht compilieren. :roll:
Mir fehlt die eine Unit (uminout) da !! :?: ... mmh ich hatte schon früher das Prob das mir welche fehlten!
kann ich mir die im net saugen ??
greetzz exbs
Re: Englischvokabelverwalter
Dragorad - 24.10.2006, 21:37
Ich hab' den ersten Post editiert, da müsstest du sehen, wo die (selbst erstellte) Unit ist.
Die Unit einmal ausführen (Strg+F9), da kommt die Nachricht "Cannot run a Unit", die *tpu-Datei ist erstellt und muss in den TP-Ordner kopiert werden.
Dann das Programm kompilieren und fertig.
PS: kann man auch andere Dateien als Bilder anhängen (würde das Übermitteln von Quelltexten und kleinen EXEs erheblich erleichtern.
Re: Englischvokabelverwalter
AQE89 - 25.10.2006, 16:54
kannst dir ja von irgend einem anbiter ein Webspace Miten, beziehen oder wie man das nehnen sollte.
da kannst du dann daten rauf laden und hier hin verlinken, musst aber aufpassen, ein paar anbiter sind dagegen.
oder du hast ein eigenes Forum, wo du es hochladen kannst und dan hierhin verlinken.
Re: Englischvokabelverwalter
Dragorad - 25.10.2006, 23:26
Zitat: kannst dir ja von irgend einem anbiter ein Webspace Miten, beziehen oder wie man das nehnen sollte.
da kannst du dann daten rauf laden und hier hin verlinken, musst aber aufpassen, ein paar anbiter sind dagegen.
oder du hast ein eigenes Forum, wo du es hochladen kannst und dan hierhin verlinken.
Ist mir alles leider nicht m?glich, aber per MAil w?rde es gehen - wer die EXEs m?chte schreibt 'ne Mail und ich h?nge die Dateien dort an.
PS: Ist inzwischen doch möglich :D ! Hier ist der Download.
Re: Englischvokabelverwalter
Dragorad - 19.11.2006, 22:32
Inzwischen ist die zweite Version fertig:
Hier ist der Download.
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum Tutorials.at
STRG+UNTBR ? - gepostet von alesch am Samstag 12.08.2006
Robot Carol - gepostet von Dragorad am Mittwoch 25.10.2006
PROGRAMMSAMMLUNG - gepostet von DrPhil_Guth am Freitag 25.08.2006
Turbo C - gepostet von Mei$ter A^ am Montag 24.04.2006
brauche Hilfe für ein kleines Programm - gepostet von Boron am Samstag 24.06.2006
2 Fragen - gepostet von d.d.d. am Samstag 24.03.2007
Quelltext ziemlich lang!? - gepostet von Mr_A_ am Sonntag 15.04.2007
Ähnliche Beiträge wie "Englischvokabelverwalter"