![]() |
Vokabelprogramm
Wir sollen ein Programm in Delphi (Delphi 7.0) erstellen und haben uns dazu entschlossen, einen Vokabeltrainer zu schreiben.
Als erstes haben wir ein Hauptmenü mit verschiedenen Auswahlmöglichkeiten als Button. Wenn man z.B. auf den Button "Spielanleitung" klickt soll ein Fenster aufgehen, in der die Anleitung dann steht. Unsere Frage ist, wie das geht!? Wenn man auf den Button "Vokabelliste erstellen" klickt, soll jeder Schüler individuell eine Vokabelliste anlegen können. Wir wollen nun wissen, wie man das am Besten macht (mit einer Tabelle? Mit verschiedenen Edit-Feldern?) |
Re: Vokabelprogramm
![]() |
Re: Vokabelprogramm
Zu. 2) Es würde sich hierfür eine Datenbank anbieten
|
Re: Vokabelprogramm
Oder IniFile, typisierte Dateien, Textdateien...
|
Re: Vokabelprogramm
Du hast XML vergessen :zwinker: (Hauptsache das letzte Wort! :mrgreen:)
|
Re: Vokabelprogramm
Wir haben eine ähnliche Datenbank schon einmal in Pascal erstellt. Nun ist unsere Frage, wie das gleiche Problem mit Delphi zu lösen ist?! Schließlich muss man mit den einzelnen Feldern der Datenbank noch arbeiten können.
|
Re: Vokabelprogramm
Gibt es in Delphi ähnlich wie in Pascal auch "assign" oder "rewrite"?
|
Re: Vokabelprogramm
Grundsätzlich sollte die Pascal-Lösung auch in Delphi funktionieren. Delphi bietet aber eine komfortablere Möglichkeit auf Datenbanken zuzugreifen.
![]() ![]() Grundlagen: ![]() [Edit: Zitat:
|
Re: Vokabelprogramm
okay, das hört sich ja schon mal alles logisch an ;]
irgendwie hängen wir jetzt grad schon beim vorgeplänkel.. was wir bis jetzt geschrieben haben: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm); TVokabel = record; TVokabeln = array of TVokabel private { Private-Deklarationen } public { Public-Deklarationen } end; var Fremdsprache, Uebersetzung: String end; Form1: TForm1; Vokabeln: TVokabeln; aber das funktioniert irgendwie nicht. :gruebel: könnt ihr uns da vielleicht noch ein bisschen nachhelfen..? |
Re: Vokabelprogramm
Fremdsprache, Uebersetzung: String end;
|
Re: Vokabelprogramm
Delphi-Quellcode:
Ein Record ohne Felder macht keinen Sinn ;)
type TVokabel = record
Sprache, Wort, Uebersetzung: Shortstring; end; |
Re: Vokabelprogramm
Zitat:
Delphi-Quellcode:
@Ahorn: Delphi-Tags sind hilfreich, um den Quelltext anzuzeigen:
Fremdsprache, Uebersetzung: String{ end};
Delphi-Quellcode:
ich frage mich zwar gerade, warum die Variablen im Interface-Teil deklariert werden und nicht in der Klasse, aber however ...
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm); TVokabel = record; TVokabeln = array of TVokabel private { Private-Deklarationen } public { Public-Deklarationen } end; var Fremdsprache, Uebersetzung: String; // <- das end gelöscht. Form1: TForm1; Vokabeln: TVokabeln; cu Oliver |
Re: Vokabelprogramm
Also wir haben das jetzt soweit hinbekommen... Nun wollen wir in einem Label Text einfügen... Könnt ihr uns sagen, wie man das macht?Bzw in ein Memo wäre eigentlich schöner, das klappt auch, aber uns stört dabei dass man den inhalt beim abspielen des programms noch verändern kann. Gibts da ne möglichkeit das zu verhindern..??
|
Re: Vokabelprogramm
Label:
Delphi-Quellcode:
Memo Zeile hinzufügen:
MeinLabel.Caption := 'Hier steht Text';
Delphi-Quellcode:
Memo ganzen Text setzen:
MeinMemo.Lines.Add( 'Hier steht Text' );
Delphi-Quellcode:
Memo ReadOnly:
MeinMemo.Lines.Text := 'Hier steht Text';
Delphi-Quellcode:
cu
MeinMemo.ReadOnly := True;
Oliver |
Re: Vokabelprogramm
TMemo.ReadOnly:= true; ;)
€dit grmpf zu spät^^ |
Re: Vokabelprogramm
Zitat:
Gruß, Jens |
Re: Vokabelprogramm
procedure TForm1.Button1Click(Sender: TObject);
begin Form2.ShowModal; Form2.Memo1.Lines.text:='Bitte legen Sie eine Vokabelliste an.'; Form2.Memo1.ReadOnly:= true; end; Wir haben eure Vorschläge aufgenommen, aber weder der Text steht in dem memo drin, so wie wir es wollten, noch ist das Memo jetzt "schreibgeschützt"!!! Aber das programm läuft auch ohne fehlermeldung ab... Könnt ihr uns sagen, was wir falsch machen? |
Re: Vokabelprogramm
Das dürfte am ShowModal liegen.
Nach ShowModal wird das Hauptprogram angehalten bis das modale Form wieder geschlossen wird. Der text wird erst gesetzt wenn das Memo garnichtmehr angezeigt wird. Also einfach das ShowModal ans ende der procedure setzen sollte schon helfen. GreeZ HenKst |
Re: Vokabelprogramm
Ja danke, das war der Fehler....
|
Re: Vokabelprogramm
Zitat:
|
Re: Vokabelprogramm
wir haben jetzt soweit erstmal die eingabe und speicherung der vokabeln,
aber uns stört noch dass wir das "memo1" nicht aus dem memofeld bekommen :( ham das mit form3.memo1.lines.text:=' '; probiert, aber das bringt nichts.... |
Re: Vokabelprogramm
Entweder ihr schreibt ins FormCreate Memo1.Lines.Clear;
oder ihr schmeisst es direct im ObjectInspector raus. (doppelklick auf die Lines property und inhalt löschen) Aber eigentlich müsste Lines.Text:= '' den selben Effekt haben, wo ruft ihr das denn auf? |
Re: Vokabelprogramm
naja wir haben so eine art hauptmenü, über das man mit hilfe von buttons
auf neue forms kommt, hier in diesem fall die form zur anlage der vokabelliste. in dem memofeld werden dann auch die vokabeln ganz normal ausgegeben, nur steht halt als erstes immer "memo1" da. wir haben den code in die unit1 eingegeben, ist es besser ihn direkt in die zugehörige unit zu schreiben (das wäre unit3)? |
Re: Vokabelprogramm
ahh hej das mit linesproperty hat funktioniert :D danke!!
|
Re: Vokabelprogramm
Es geht mir nicht darum in welcher unit der code steht sondern an welcher stelle im program.
Ihr müsst halt den Inhalt rausschmeissen bevor ihr den neuen eingebt, oder ihn durch den neuen ersetzen. Aber ich denke, sofarn das Memo visuel platziert ist, macht ihr es am einfachsten wirklich über den ObjectInspector. Dann steht beim Programmstart erst garkein Text drin. Ansonsten im Create vom Form. €dit na dann is ja gut^^ |
Re: Vokabelprogramm
"Paradebeispiel für eine kleine Datenbankanwendung ist eine Adressenverwaltung. Programmieren wir also ein kleines Adressbuch.
Das Grundgerüst der Datei erstellen wir mit der Datenbankoberfläche. Diese lässt sich von Delphi aus über das Tools-Menü öffnen." steht in nem tutorial, nur bei unserer version ist davon irgendwie weit und breit keine spur... wir haben delphi7 |
Re: Vokabelprogramm
oder habt ihr einen anderen plan um auf einfachem wege eine datenbank zu erstellen?
|
Re: Vokabelprogramm
wäre es vielleciht möglich die vokabeln, die ja im memo-feld erscheinen, von dort direkt aufzurufen? oder werden die dort nicht in der form gespeichert, dass das möglich wäre?
|
Re: Vokabelprogramm
Hier mal eine Minimal-DB mit Ini-Dateien
Die Ini-Datei wie folgt aufbauen:
Code:
Abrufen der Vokabeln:
[deutsch-englisch]
gehen=go ich gehe=i go [englisch-deutsch] go=gehen i go=ich gehe
Delphi-Quellcode:
So erfolgt dann z.B. der Zugriff:
uses IniFiles;
... function GetTranslation( Vokabel, Richtung : string ) : string; var VokabelDatei : TIniFile; begin VokabelDatei := TIniFile.Create( 'MeineVokabeln.ini' ); try Result := ReadString( Richtung, Vokabel, '' ); finally VokabelDatei.Free; end; end;
Delphi-Quellcode:
Alles weitere
...
Memo1.Lines.Add( 'go => ' + GetTranslation( 'go', 'englisch-deutsch' ) ); // oder auch andersrum Memo1.Lines.Add( 'gehen => ' + GetTranslation( 'gehen', 'deutsch-englisch' ) ); ... ![]() Hinweis: Für größere Speichermengen/Daten ist das natürlich nicht zu empfehlen, aber für eine kleine Anwendung dieser Art auf jeden Fall ausreichend. cu Oliver |
Re: Vokabelprogramm
Igrendwie kriegen wir das nach der Methode nicht hin :? Vielleicht könnte uns noch einmal jemand helfen eine Datenbank für die Vokabelliste anzulegen? Wäre echt ganz lieb, weil wir bekommen das irgendwie icht hin.
|
Re: Vokabelprogramm
Also so läuft das hier nicht "Ich krieg das nicht hin"
Zeig uns wie du den Code/die Methode eingebaut hast, und sag uns dann wo es noch klemmt. Dann ist die Hilfe für uns auch einfacher, weil wir dann sehen, was du noch nicht verstanden hast. Hier bekommst du Entwicklungshilfe und kein gemachtes Bettchen :) cu Oliver |
Re: Vokabelprogramm
Liste der Anhänge anzeigen (Anzahl: 1)
Ok hier ist mal unser bisheriges Programm... Ich hoffe die einfache Projektdatei reicht, damit ihr euch das mal anschauen könnt...
Bis dann |
Re: Vokabelprogramm
Jetzt wissen wir, welche Units benutzt werden. Das ist aber nicht besonders hilfreich.
|
Re: Vokabelprogramm
Zitat:
|
Re: Vokabelprogramm
Mein VokabelTrainer, xVTeacher, arbeitet so,
als dass ich den Inhalt eines StringGrids spalten/zeilenweise abspeichere und dementsprechend auch lade. Meine Meinung: Ich denke, es wird bei euch keinen Lernfortschritt geben, wenn ihr, falls ich das richtig verstanden habe, nicht mal wisst, wie ihr einen Text aufpoppen lässt? Naja.. Good Luck |
Re: Vokabelprogramm
[Edit] Post wegen OT entfernt [/Edit]
|
Re: Vokabelprogramm
[OT]Wer reitet denn hier ein totes Pferd? :mrgreen: [/OT]
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20: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