Gemeinschafst projekt: rtf änliches komponente !

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Antworten
Benutzeravatar
theo
Beiträge: 10926
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben: Also nochmal: möchte mir jemand von euch ernsthaft helfen ?
Ich habe dazu alles gesagt. Ich glaube bei sowas nicht an Teamarbeit.
Vielleicht mach ich mal eine Grundlage.
Dein Problem Pluto, ist nicht, dass du keine Lösung hast, dein Problem ist dass du noch nicht soweit bist, die Aufgaben die da sind zu erkennen.
Ich sage nicht, dass du das nicht eines Tages kannst, aber da fliesst noch viel Wasser den Rhein runter. Ich überlege auch schon ein Weilchen daran rum und habe auch noch keine Lösung, aber so langsam sehe ich die Probleme.
Entwerfen, Probieren, Verwerfen, neu Überlegen und das 20 mal und irgendwann siehst du, wie man's machen müsste. ;-)
Dann geht die Arbeit aber erst los, und die ist verdammt knifflig.
Du bist schon auf dem richtigen Weg, aber mach das für dich alleine.

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

Beitrag von pluto »

Dein Problem Pluto, ist nicht, dass du keine Lösung hast,
so im Prinzip habe ich jetzt für das Markieren eine Super Lösung gefunden.

Bleibt nur noch ein Problem zu lösen und zwar:
Das Einfügen von einem Großen Text sagen wir ein Text bestehen aus 90.000 Zeichen das währe bei meiner Lösung 90.000 Objekte, Einträge in einer TObjekcList. Die Frage ist a:
wie könnte so eine menge an Objekten verwaltet werden
b: das einfügen an einer stelle sagen wie an Position 50 füge ich ein 300 Zeichen langen Text ein oder nur ein Zeichen..... ich nutzte im Moment einfach nur die Insert Funktion von einer TObjektList.

ich habe mir überlegt: nicht alle auf einmal zu nach unten zu verschieben sondern stückweise !
Es darf nur so lange verschoben werden bis der Sichtbereich verlassen wurde !
der Rest soll folgen sobald du in dem Sichtbereich kommst.... anders geht das meiner Meinung nicht !

Oder hat einer von euch an dieser Stelle noch eine andere/bessere Lösung ?
Egal welche Lösung wir nehmen, dieses Problem werden wir immer nehmen.

Genau das mache ich Theo ich versuche Lösungen zu finden und auszuprobieren !
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 »

Wie theo schon sagte frag nicht immer 100x nach lösungen somndern finds raus, wenn wir dir antworten glaubst dus ja eh nicht also klappe und an die arbeit. zu deiner "lösung" das ist keine bei ein paar tausen zeichen ist dein speicher voll.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von pluto »

aber bei anderen Varianten wird es auch Probleme geben.... bei größeren texten oder etwa nicht ?


Dann müsste evtl. eine Temp Datei ab einer Bestimmten Anzahl erstellt werden. Ist zwar auch doof aber im Moment die beste Lösung die ich haben.

Und ich "arbeitet" schon seit längern an das Problem.... wie dir bekannt sein dürfte *G*.

So Markieren kann ich schon mal größere Texte allerdings demarkieren geht noch nicht *schnif*
MFG
Michael Springwald

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

Beitrag von pluto »

So im Prinzip kann ich jetzt einen Text von 16115 Objekten schnell Markieren und Demarkieren es kommt zwischendurch zwar noch ein paar Fehler aber das Prinzip geht....

Beim Markieren sehe ich jetzt keine Probleme mehr !

Probleme sind jetzt nur noch Scrollen, das Einfügen von texten an beliebiger Stelle. Aber auch nur bei große Texte....
MFG
Michael Springwald

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

Beitrag von theo »

Pluto, ich bin mir oft nicht sicher ob wir überhaupt vom gleichen sprechen.
Sieh dir mal den Anhang an. Das wäre für mich das minimale Ziel.
Versuch doch mal zu analysieren, welche Aufgaben du in diesem Bild erkennen kannst.
Vergiss noch editieren und markieren usw. Betrachte nur mal die Ausgabe und Positionierung der Elemente. Welche Aufgaben siehst du?
Dateianhänge
richview.png

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

Beitrag von pluto »

Naja ich sehe ein Bild mit unterschiedlich großen Text in unterschiedlichen Farben Da gestellt !

Ach ja der untere text scheint ein Absatzt zu sein.
Als aufgaben würde ich das so einteilen:
1. Anzeigen von so einem text
dazu gehört: wie verwalte ich so einen Text ?
z.b. in einer TStringlist
MFG
Michael Springwald

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

Beitrag von pluto »

Und das mit dem Cuser könnte noch ein Problem werden.

Der muss sich ja bei jeder Eingabe mit bewegen. Wobei Links und Rechts ist einfach aber oben und unten....

Und der Cusor muss die richtige Größe haben und zwar die vom aktuellen Zeichen.

sonst wüsste ich nichts !

nagut später könnte es noch Probleme geben, daraus eine Komponente zu entwickeln.
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 »

genau, wir verwalten sowas in einer tstringlist ....
lol
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von pluto »

das war ja nur ein Beispiel !
mitlerweile habe ich mir noch was andres überlegt eine art 2D array:

TDaten = record
Zeichen:Char
end;

TDaten1 = record
Test:array of TDaten
end;


Daten:Array of TDaten1.....

dann könnte ich über Daten[0].test[0] auf das erste Elemente zugreifen.... dachte ich mir.... aber an dieser Idee muss ich erst noch etwas Pfeilen *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 »

schnuller du hast da auch noch net reingeschaut oder ?

1. IST DAS GANZE BORLAND CODE DEN KANNST DU NASE NICH EINFACH INS NETZ STELLEN. Monti bitte lösch den quatsch so schnell es geht

2. ist das eine kapselung des win32 richedit controls das nützt uns n scheiss gar nix narda das ist nur ein wrapper um eine dll das wird unter linux nie auch nur ansatzweise laufen jetzt langsam komprende ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von theo »

Ich dreh gleich durch....;-)

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Die RichEdit stellt den Zugriff auf die rich32.dll her. Die kann er eh vergessen weils die bei LINUX garnicht erst gibt.

Aber nix nützen würd ich nicht sagen, immerhin könnte man das Message-System als Denkanstoß nehmen. Also per Stream einlesen und die entsprechenden Messages auslösen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

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 »

Könnte man...aber wie Christian schon gesagt hat, nicht öffentlich, was ihr euch als Mail zuschickt, kann ich nicht kontrollieren, aber hier bitte kein Material, was gegen Urheberrechte verstoßen könnte.
Aber schnuller hat es ja schon eingesehen ;)

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

Beitrag von pluto »

so ich versuche jetzt ein andres System:
ich unterscheide jetzt zwischen Zeilen und Spalten.
jeder Zeile hat ein Array mit einer Dynamischen größe.
Das Problem was mir z.z. noch unklar ist, ist wie kann ich es verwalten bei vielen Zeilen habt ihr da eine Lösung ?

gut ich könnte das in seiten verwalten jede seite könnte eine bestimmte anzahl von Zeilen aufnehmen aber dann verschiebe ich nur das Problem.

Also ich könnte jetzt eine Komponente schreiben die folgendes kann:
einen Text mehrfarbig in unterschiedliche schrift konfiguation anzeigen lassen.

Und ich kann diesen Text schnell markieren unabhängigem wie groß der Text auch sein mark.

Ach ja, ich kann noch die Schrift konfiguation ändern wenn ich ein Text markiert habe.
------

Was ich noch nicht kann sind folgende dinge.
(Ich hoffe da könnt ihr mir weiter helfen:)
1. Scrollen
nehme ich eine Scrolbox ?
oder versuche ich was eigenes ?

2: Das Editieren von vorhanden Text in großen text dateien.
Groß heißt bei mir mehr als 500 Zeichen.

habt ihr da Ideen/Vorschläge ?
außer jetzt aufzugeben und abzuwarten das es jemand andres macht !
eine art Tmemo komponente könnte ich damit schon erstellen.

Mehr aber leider noch nicht *schnif*
MFG
Michael Springwald

Antworten