Aufgabentexte sinnvoll 'speichern'

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 990
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Aufgabentexte sinnvoll 'speichern'

Beitrag von kralle »

Moin,

ich möchte in einem Programm Textaufgabentexte anzeigen lassen.
Die Frage ist nur, wie und wo speichere ich diese Texte sinvollerweise?

Als Speicherort würde ich glaube ich ein "Datenmodul" nutzen.
Erste Idee für die Sätze war Array, dann kam ich auf eine Stringlist.
Da die Sätze aber ja auch Variablen enthalten müssen, und ich auch die Einheiten passend speichern muß, bin ich einwenig überfragt, wie man das am besten löst.

Beispielsatz:
Um 600 Seiten auszudrucken benötigt ein Drucker 12 Minuten. Wie lange braucht der Drucker für 900 Seiten?


In diesem Fall wären 600, 12 und 900 Werte aus Variablen.
Seiten und Minuten müssten als Einheiten mit dem Satz gespeichert werden.

Wie speichert man solche Sätze am Besten (am bestem incl. Variablen) ?

Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Aufgabentexte sinnvoll 'speichern'

Beitrag von mse »

Mit Macros.

Code: Alles auswählen

 writeln(expandmacros1(
  'Um ${wert1} Seiten auszudrucken benötigt ein Drucker ${wert2} Minuten.'+lineend+
  'Wie lange braucht der Drucker für ${wert3} Seiten?',
                              ['wert1','wert2','wert3'],['600','12','900']));
 

liefert

Code: Alles auswählen

 
Um 600 Seiten auszudrucken benötigt ein Drucker 12 Minuten.
Wie lange braucht der Drucker für 900 Seiten?
 

https://gitlab.com/mseide-msegui/mseide ... macros.pas
Um die Frage der Speicherung zu beantworten müsste man mehr wissen. Ist es eine Aufgabe wo lediglich die Funktion demonstriert werden muss oder ist es ein in der Praxis eingesetztes Programm?

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 990
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Aufgabentexte sinnvoll 'speichern'

Beitrag von kralle »

Moin,

Ganz schöner Aufwand.

Ich dachte eher an Array oder so.
mse hat geschrieben:Um die Frage der Speicherung zu beantworten müsste man mehr wissen. Ist es eine Aufgabe wo lediglich die Funktion demonstriert werden muss oder ist es ein in der Praxis eingesetztes Programm?

Für meine Tochter.

Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: Aufgabentexte sinnvoll 'speichern'

Beitrag von theo »

Ich verstehe irgendwie deine Frage nicht ganz.
Speichern ist das eine, das geht mit Stringlist, JSON, XML, Inifile, Datenbank etc.
Zur Laufzeit wirst du aber Variablenplatzhalter (z.B $Zeit$) mit Werten ersetzen müssen.
Das eine hat mit dem anderen nicht viel zu tun mMn.

Antworten