Bunten, Formatieren text dastellen als objekte?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Bunten, Formatieren text dastellen als objekte?

Beitrag von pluto »

Hallo,
ich mir mal unter lazarus das HTMLPanel angeschaut, weil ich wissen wollte wie die dort das makieren durch den user gelöst haben. damit meine ich folgendes:
du hast einen text und makiert ihn mit der linken maustaste....

meine idee war/ist einfach jeden buchstaben als obj zu betrachten und in eine Tlist zu packen... problem ist nur bei größeren texten und das bearbeiten vom text..

die frage ist jetzt

a: kann ich das so machen ?
damit könnte ich dann ganz einfach makieren weil buchstaben sind ja vierecke also brauche ich nur noch prüfen ob der buchstabe im makieren fehld liegt was ja auch nur ein viereck ist...

b: gibt es eine bessere lösung ? oder eine andere idee ?

der qullcode von der html komponente von lazarus ist leider zu lang und einiges davon verstehe ich nicht 100 %ig z.b. dises hier:

Code: Alles auswählen

Codes: array[0..pred(CodeCount)] of record
    Size: Integer;
    Name: String;
    Value: AnsiChar;
  end = (
    (Size: 2; Name: 'gt'; Value: '>'),
    (Size: 2; Name: 'lt'; Value: '<'),
    (Size: 3; Name: 'amp'; Value: '&'),
    (Size: 3; Name: 'deg'; Value: #176),

was wird dort genau defniert ? eine array ist klar ist das sowas wie:
myrecord = record
Size: Integer;
Name: String;
Value: AnsiChar;
end;
vielen dank im vorraus
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Wiso nimmst du nicht einfach Turbopower ipro ?! (das html panel)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Bunten, Formatieren text dastellen als objekte?

Beitrag von monta »

pluto hat geschrieben:was wird dort genau defniert ? eine array ist klar ist das sowas wie:
myrecord = record
Size: Integer;
Name: String;
Value: AnsiChar;
end;

Du bist mit deinem Record schon nah dran. Ist ja auch ein Record, nur der eben nochmal als Array verwendet.
Also einfach gesagt ein Array aus einem zusammengesetzten Datentyp. Und dient so wies ausschaut der Speicherung von Html-Sonderzeichen, um diese zu ersetzen.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

achso: du meinst also es ist einfach nur ein record der mehrer unterschiedliche datentypen aufnehmen kann... ist ja praktisch und ich dachte das würde nur gehen wenn dafür ein extra record defniert wird...

das html panel könnte ich mit sicherheit nemen für mein vorhaben nur wollte ich gerne wissen ob es ratsamm ist jeden buchstaben als object in eine Tlist zu speichern oder ob es noch einen andren weg gibt....

weil mir ist der qullcode zu lang erhelichgesagt aber ich werde ihn aufjedenfall studiern.

ich habe eigentlich folgendes vor:
ich möchte gerne eine eigene dokumenten format erfinden so änlich wie PDF, HTML, oder openoffice.....

und diese testest die ich jetzt mache sind nur vorbereitungen... um sehen wie es geht... eigetnlich ist es ja wenn es keinen anderen weg gibt meiner weg ja sehr einfach.....
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

pluto hat geschrieben:achso: du meinst also es ist einfach nur ein record der mehrer unterschiedliche datentypen aufnehmen kann... ist ja praktisch und ich dachte das würde nur gehen wenn dafür ein extra record defniert wird...


Es ist ja auch ein axtra Record definiert

Codes: array[0..pred(CodeCount)] of record
Size: Integer;
Name: String;
Value: AnsiChar;

end

Nur dieser ist dan eben noch in ein eindimensionales Array gesetzt, also letztlich eine Art Tabelle mit drei Spalten, sinnbildlich ;)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

jetzt verstehe ich das ist sowas wie:
arrray of array of array nur halt mir 3 unterschiedlichen datentypen....

praktisch, das kannte ich noch garnicht... evlt. sollte ich wirklich mir wirklich mal die qullcodes von lazraus ansehen... wer weiß was ich da noch für überaschungen finde *G*
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

naja nicht ganz rein record ist eine datenstruktur mit einer festen länge. Den record kannst später auch mit record.variable ansprechen. Ausserdem kann man die auch recht einfach in einem file of record speichern und laden.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

meinst du sowas:
record.variable[index] bzw record.variable[string] ?
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

nö, das wäre ja ein array im record das geht auch nicht.
mir gings nur darum einen record zu erklären obwohl der name schon recht selbsterklärend ist.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

aber im code wird doch die drei spalten als array defniert... oder nicht ?
MFG
Michael Springwald

Antworten