AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Selbstprogrammierung eines Vokabeltrainers
Thema durchsuchen
Ansicht
Themen-Optionen

Selbstprogrammierung eines Vokabeltrainers

Ein Thema von Soph6297 · begonnen am 27. Mai 2014 · letzter Beitrag vom 21. Jun 2014
Antwort Antwort
Soph6297

Registriert seit: 27. Mai 2014
13 Beiträge
 
#1

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 13. Jun 2014, 13:16
Ich hatte ja schon die procedure Trennung erstellt mit der ich eigentlich arbeiten wollte.
Wenn ich also Zeile für Zeile abarbeiten will, muss ich also immer das, entsprechend der Frage und Antwort, wiederholen?

Delphi-Quellcode:
begin
  (* Position des Trennzeichens ermitteln *)
  iPos := Pos(TRENNER, FRAGE_ANTWORT);
  (* Wenn gefunden *)
  if iPos > 0 then
    begin
      (* Von Stringanfang bis ausschließlich Trennzeichen kopieren *)
      Frage := Copy(FRAGE_ANTWORT, 1, iPos - 1);
      (* Nun alles hinter dem Trennzeichen *)
      Antwort := Copy(FRAGE_ANTWORT, iPos + 1);
      ShowMessage('Frage: ' + Frage + sLineBreak + 'Antwort: ' + Antwort);
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.669 Beiträge
 
Delphi 12 Athens
 
#2

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 13. Jun 2014, 13:20
Deine Prozedur Trennung macht aber zuviel, sie sollte wirklich nur einen übergebenen String-Parameter in Frage und Antwort aufteilen.
Delphi-Quellcode:
procedure Trennen(const Eingabe: string; out Frage, Antwort: string);
begin
  (* Hier nun Eingabe auftrennen und Frage und Antwort zuweisen *)
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Soph6297

Registriert seit: 27. Mai 2014
13 Beiträge
 
#3

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 16. Jun 2014, 20:22
Ich hab erstmal ein Anfang gewagt...

Delphi-Quellcode:
procedure Trennung(text:String);

const
Frage_Antwort='Rheinbund;1806';
Trenner=';';

var Frage, Antwort:String;
    iPos:integer;

begin
iPos:=Pos(';','Rheinbund;1806');
if iPos > 0 then
 begin
  Frage:=Copy('Rheinbund;1806', iPos+1);
  Antwort:=Copy('Rheinbund;1806', iPos-1);
 ShowMessage('Hier Nachricht eingeben');
 end;
end;
Dazu zwei Fragen...

1)Delphi zeigt mir an, dass es zu wenig wirkliche Parameter gibt - was kann ich dagegen tun?
2)Wozu genau ist die ShowMessage da/welchen Zweck erfüllt sie?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 16. Jun 2014, 20:52
1) Copy() besitzt 3 Parameter
2) Zeigt eine Meldungsfenster an.
Markus Kinzler
  Mit Zitat antworten Zitat
Soph6297

Registriert seit: 27. Mai 2014
13 Beiträge
 
#5

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 16. Jun 2014, 20:57
1) Aber wie kann ich es anders schreiben, dass Delphi "nicht mehr rummotzt"...?
Ich hab als Bsp gefunden:
"s := 'Dies ist ein Test';
COPY(s, 14, 4);
ergibt:
'Test'"
Demnach fehlt bei mir ein Parameter, aber welches? Bzw. was sollen die Zahlen darstellen?
2) Ja, das weiß ich, aber welchen Zweck erfüllt das Meldungsfenster im Zusammenhang mit vorher geschriebenen? Was wird dem Benutzer damit gesagt/soll damit gesagt werden?
"Der Computer löst Probleme, die man ohne ihn nicht hätte."

Geändert von Soph6297 (16. Jun 2014 um 21:02 Uhr) Grund: Beispiel ergänzt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 16. Jun 2014, 21:03
1) Aber wie kann ich es anders schreiben, dass Delphi "nicht mehr rummotzt"...?
Den fehlenden Parameter ergänzen:
Frage:=Copy('Rheinbund;1806', 1, iPos-1); 2) Ja, das weiß ich, aber welchen Zweck erfüllt das Meldungsfenster im Zusammenhang mit vorher geschriebenen? Was wird dem Benutzer damit gesagt/soll damit gesagt werden?[/QUOTE]
Da musst du den autor fragen.
Markus Kinzler
  Mit Zitat antworten Zitat
Soph6297

Registriert seit: 27. Mai 2014
13 Beiträge
 
#7

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 16. Jun 2014, 21:15
Ok danke, dann funktioniert das mit den Parametern soweit! (:
Nun ergeben sich aber zwei weitere "Probleme".

1) Die Zeile
Trennung(ListBox1.Items.Strings[Zufall], FJahr, Ereignis); weist zu viele Parameter auf. Nämlich FJahr und Ereignis. Müssen die da wirklich rein?

2) Wenn ich, zur Probe, FJahr und Ereignis lösche und das Programm starte und den "Neues Ereignis" Button klicke kommt eine Fehlermeldung von Delphi, dass der Listenindex das Maximum übersteigt. Kann ich das irgendwo eingrenzen, so dass es im Limit bleibt?


Desweiteren bleibt die Frage mit der ShowMessage offen...
"Der Computer löst Probleme, die man ohne ihn nicht hätte."
  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 02:20 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