Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi MemoBox bzw. Textdatei im Speicher verwalten (https://www.delphipraxis.net/117553-memobox-bzw-textdatei-im-speicher-verwalten.html)

kuba 20. Jul 2008 23:19


MemoBox bzw. Textdatei im Speicher verwalten
 
Hallo,

ich habe ein Programm geschrieben bei dem ich eine Textdatei in eine MemoBox auslese. Die Daten in der MemoBox kann ich schön schnell verarbeiten weil sie bereits im Speicher sind. Jetzt möchte ich mein Programm Formlos gestalten und kann dann keine MemoBox verwenden.

Kann mir jemand sagen wie ich Speicher deklariere den ich wie eine MemoBox verarbeiten kann ?

Auszug aus meinem Code (100 Werte lesen aus Registry):

Delphi-Quellcode:
procedure 100WerteMinimize;
var
   zaehler  :integer;
   Registry: tRegistry;
   value    :string;
   h        :hwnd;
begin
   for zaehler := 0 to 100 + 1 do
   begin
   Registry := tRegistry.Create;
  Try
    Registry.RootKey := HKEY_LOCAL_MACHINE;;
    Registry.OpenKey ('\Software\KUBA\100Werte', False);
    Value := Registry.ReadString (IntToStr(zaehler));
    Registry.CloseKey;
  Finally
    Registry.Free;
  End;
    PostMessage(GetWindowHandleByExeName(Value), WM_SYSCOMMAND,SC_MINIMIZE,0);
  end;
end;
kuba

PS: ich habe das Programm schon Formlos und schreibe 100 Werte einfach in die Registry, das dauert jedoch zu lange weil ich die Werte ständig verarbeite (prüfe) ...

Blackheart 20. Jul 2008 23:33

Re: MemoBox bzw. Textdatei im Speicher verwalten
 
Stringlist

kuba 21. Jul 2008 09:43

Re: MemoBox bzw. Textdatei im Speicher verwalten
 
Zitat:

Zitat von Blackheart
Stringlist

Na prima, danke für den Tip ...

Mal konkret - Ich hab die Daten in eine MemoBox eingegeben und von dort aus in die Registry geschrieben. Jetzt suche ich eine Möglichkeit die Daten von der Registry in den Speicher zu laden.

So portiere ich die Daten von der MemoBox in die Registry:

Delphi-Quellcode:
procedure TForm2.Button3Click(Sender: TObject);
var
   zaehler  :integer;
   Registry: tRegistry;
begin
   for zaehler := 0 to 100 + 1 do
   begin
   Registry := tRegistry.Create;
  Try
    Registry.RootKey := HKEY_LOCAL_MACHINE;;
    Registry.OpenKey ('\Software\KUBA\Minimize', False);
    Registry.WriteString (IntToStr(zaehler),Memo1.Lines.Strings[zaehler]);
    Registry.CloseKey;
  Finally
    Registry.Free;
  End;
   end;
   Form2.Close;
end;
Die andere Routine (ganz oben) verwende ich zur Verarbeitung der Daten (Minimize).
Kann mir jemand einen Tip geben wie ich das mit Stringlist einfach lösen kann ?

KUBA

mkinzler 21. Jul 2008 11:01

Re: MemoBox bzw. Textdatei im Speicher verwalten
 
Memo.Lines ist eine Stringliste

kuba 21. Jul 2008 11:54

Re: MemoBox bzw. Textdatei im Speicher verwalten
 
Zitat:

Zitat von mkinzler
Memo.Lines ist eine Stringliste

ist mir eigentlich auch klar, wie gesagt mein Programm ist Formlos und daher muss ich auf die MemoBox verzichten ...

kuba

Diamondback2007 21. Jul 2008 11:59

Re: MemoBox bzw. Textdatei im Speicher verwalten
 
Naja deklariere dir eine Variable vom Typt TStringList.
Dann noch erstellen und du kannst alles machen was du willst.
Am Ende das Freigeben nicht vergessen.

mkinzler 21. Jul 2008 12:09

Re: MemoBox bzw. Textdatei im Speicher verwalten
 
Ja dann nimm eine StringListe statt Memo.Lines

Delphi-Quellcode:
var
    sl: TStrings;
    ...
    sl := TStringList.Create;
    ...
    Registry.WriteString (IntToStr(zaehler),sl[zaehler]);

turboPASCAL 21. Jul 2008 12:45

Re: MemoBox bzw. Textdatei im Speicher verwalten
 
Ja, eine StringListe.

;) Zum fünften mal... :stupid:

Oder dann doch ein Array of String. :gruebel: :stupid: :wink:

Diamondback2007 21. Jul 2008 12:49

Re: MemoBox bzw. Textdatei im Speicher verwalten
 
[OT]Warum deklarieren hier alle etwas besseren Delphi-Programmierer eine StringListe nur als TStrings? Bringt das was oder ist das wirklich einfach nur kürzer? :mrgreen: [/OT]


Zitat:

Zitat von mkinzler
Ja dann nimm eine StringListe statt Memo.Lines

Delphi-Quellcode:
var
    sl: TStrings;
    ...
    sl := TStringList.Create;
    ...
    Registry.WriteString (IntToStr(zaehler),sl[zaehler]);

Da fehlt noch ein
Delphi-Quellcode:
sl.Free;
:wink:

p80286 21. Jul 2008 12:53

Re: MemoBox bzw. Textdatei im Speicher verwalten
 
Zitat:

Zitat von mkinzler

Delphi-Quellcode:
var
    sl: TStrings;
    ...
    sl := TStringList.Create;
    ...

Äh, Tschuldigung, aber TStrings und Tstringlist ist nicht dasselbe, oder vielleicht doch?
Gruß K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz