Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Memo limitiert?? (https://www.delphipraxis.net/69960-memo-limitiert.html)

Avax2k 22. Mai 2006 23:12


Memo limitiert??
 
hab folgendes Problem:

in einer textdatei steht der text:
mal schauen ob das denn hier
klappt mit dem Einlesen
dieses Textes und ob es auch
gelingt mehrere Zeilen Text
auf einmal scrollen zu lassen
oder ob es eben doch nicht
klappt dies anzustellen

okay ich mache in delphi folgendes
Delphi-Quellcode:
var Text : String; SList: TStringList;
begin
SList := TStringList.Create;
SList.LoadFromFile('Test.txt');
Form4.Memo1.Lines.AddStrings(SList);
soweit sogut nur wird nicht der gesamte text angezeigt sondern nur:
in einer textdatei steht der text:
mal schauen ob das denn hier
klappt mit dem Einlesen
dieses Textes und ob es auch
gelingt mehrere Zeilen Text


wieso wird nicht alles angezeigt aus der Datei sondern nur die paar Zeilen?
ist diese Beschränkung irgendwie zu umgehen oder ist das einfach so ??

Wordwrap hab ich schon versucht

mkinzler 23. Mai 2006 05:36

Re: Memo limitiert??
 
Memo1.Lines ist doch vom Typ TString hast du mal versucht direkt hier rein zu laden?

Nicodius 23. Mai 2006 05:53

Re: Memo limitiert??
 
mach doch

Delphi-Quellcode:
Memo1.Lines.LoadFromFile('test.txt');


grüße nico

turboPASCAL 23. Mai 2006 05:58

Re: Memo limitiert??
 
Zitat:

Zitat von mkinzler
Memo1.Lines ist doch vom Typ TString hast du mal versucht direkt hier rein zu laden?

Am wohl einfachsten:
Delphi-Quellcode:
Memo1.Lines.LoadFromFile('MeineTextdatei.txt');

Wenn es um das "dazu lesen" geht ist deine Version der richtige Ansatz.

Delphi-Quellcode:
var SL: TStringList;
begin
  Memo1.Lines.LoadFromFile('MeineTextdatei I.txt');

  Memo1.Lines.Add( 'Die nächste Datei:');

  SL := TStringList.Create;
  try
    SL.LoadFromFile('MeineTextdatei II.txt');
    Memo1.Lines.AddStrings(SL);
  finally
    SL.Free;
  end;
end;
Ich hoffe mal das du im OI die Scrollbars für das Memo aktiviert hast, sonst wird es ja nix mit dem Scrollen. ;)

Avax2k 23. Mai 2006 12:13

Re: Memo limitiert??
 
danke für die Antworten aber natürlich habe ich schon versucht die Datei direkt ins memo durch LoadfromFile zu laden aber bekomme das gleiche Ergebnis es wird nur ein Teil angezeigt.

und die scrollbars muss ich nicht aktiviert haben, denn ich lasse das ganze automatisch mit einem Timer scrollen.

jemand noch eine andere Idee woran das liegen könnte, dass nur so wenig angezeigt wird ?

sakura 23. Mai 2006 12:17

Re: Memo limitiert??
 
Zitat:

Zitat von Avax2k
soweit sogut nur wird nicht der gesamte text angezeigt sondern nur:
[...]
wieso wird nicht alles angezeigt aus der Datei sondern nur die paar Zeilen?
ist diese Beschränkung irgendwie zu umgehen oder ist das einfach so ??

Suche mal den Fehler an anderer Stelle. Aber ein Memo kann locker mehr darstellen. Unter Win9X lag die Grenze bei 65 KB, wo die jetzt liegt, dass weiß ich nicht, aber garantiert nicht darunter ;)

...:cat:...

Avax2k 23. Mai 2006 12:23

Re: Memo limitiert??
 
jetzt habe ich versucht direkt in das memo zu schreiben bei Strings..

habe 12 Zeilen geschrieben und angezeigt werden nur 5 ??

irgendwie wird auch beim scrollen alles was die Größe des memos überschreitet abgeschnitten :(

Hawkeye219 23. Mai 2006 12:27

Re: Memo limitiert??
 
Du hast nicht zufällig an der Eigenschaft Delphi-Referenz durchsuchenTMemo.MaxLength gedreht, oder? Diese sollte den Wert 0 haben.

Gruß Hawkeye

Avax2k 23. Mai 2006 12:29

Re: Memo limitiert??
 
nein der Wert ist bei mir 0

aber jetzt bin ich ein Stück weiter..wenn ich das Memo auf Enabled setzte und mit der Maus dann scrolle dann wird der Text plötzlich angezeigt.. und wenn ich im Timer das Scrollen aus mache, dann steht auch der ganze Text da ..der Code im Timer ist folgender:

Delphi-Quellcode:
Memo1.ScrollBy(0,-1);
sollte doch problemlos funktionieren :confused:

marabu 23. Mai 2006 12:37

Re: Memo limitiert??
 
So rollst du nur den sichtbaren Bereich. Wenn du keine ScrollBars verwenden willst, dann musst du den selection point verschieben.

Oder wenn es nur ein Anzeigefenster ist, dann so:

Delphi-Quellcode:
 Memo.Perform(EM_LINESCROLL, 0, 1);
Grüße vom marabu

pacman1986 23. Mai 2006 12:47

Re: Memo limitiert??
 
kann es sein das man einfach refreshen sollte oder repainten ??

Avax2k 23. Mai 2006 12:58

Re: Memo limitiert??
 
das mit dem refresh oder repaint bringt nichts da das memo jedes mal neu gemalt wird und sich somit dann auch nicht mehr scrollt!

@marabu

wenn ich den Code in den timer packe dann passiert nichts er scrollt nicht der text bleibt einfach stehen

dfried 23. Mai 2006 13:05

Re: Memo limitiert??
 
Also ich mache das Scrollen folgendermassen:

SendMessage(Memo.Handle, WM_VSCROLL, SB_BOTTOM, 0);

Avax2k 23. Mai 2006 13:07

Re: Memo limitiert??
 
@dfried

das geht bei mir auch nicht weder wenn es im Timer ist noch wenn es auf On Create ist..was allerdings keinen Sinn macht

ist auch klar wieso es nicht geht weil die Befehle den zeiger auf die Zeile setztenden ich angebe bzw. sofort nach unten scrollen zum textende..ich will das ja aber nicht.

hat niemand mehr eine Idee, wie man das realisieren könnte..ich habe es auch schon mit DrawText versucht jedoch ebenfalls ohne Erfolg..habe auch gesehen, dass es Komponenten von Jedi gibt, die das können nur will ich die nciht extra auf den Rechner installieren :(

marabu 24. Mai 2006 07:39

Re: Memo limitiert??
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Morgen.

Zitat:

Zitat von Avax2k
wenn ich den Code in den timer packe dann passiert nichts er scrollt nicht der text bleibt einfach stehen

Bei mir funktioniert mein Code. Was machst du anders?

Grüße vom marabu

RavenIV 24. Mai 2006 07:56

Re: Memo limitiert??
 
bei mir (D7 Enterprise) funktioniert das Memotest von marabu auch.
Scrollt munter hoch oder runter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 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