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, 14:09
Müsste ich dann für jeden Frage-Antwort Paar so etwas deklarieren?
Oder gibt es einen einfacheren Weg?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 13. Jun 2014, 14:12
Noch einfacher? Mach aus dem Beispiel eine Funktion oder Prozedur, die kannst Du dann je Zeile abarbeiten. Oder schau Dir mein Beispiel von oben mit den TStrings noch einmal an, das Add() entfällt dabei, da Du die Liste ja dann aus einer Datei befüllst.
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 13. Jun 2014, 14: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.656 Beiträge
 
Delphi 12 Athens
 
#4

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 13. Jun 2014, 14: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
 
#5

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 16. Jun 2014, 21: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.869 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 16. Jun 2014, 21: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
 
#7

AW: Selbstprogrammierung eines Vokabeltrainers

  Alt 16. Jun 2014, 21: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 22:02 Uhr) Grund: Beispiel ergänzt
  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 08:25 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 by Thomas Breitkreuz