Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Text aus Textdatei in TEDIT auslesen und wieder speichern (https://www.delphipraxis.net/70667-text-aus-textdatei-tedit-auslesen-und-wieder-speichern.html)

Mirco 3. Jun 2006 21:13

Re: Text aus Textdatei in TEDIT auslesen und wieder speiche
 
Hallo... :hi:
Es müssen immer die "define" Zeilen sein.
Es ist nur ein Beispiel! Die Zeilen können auch länger sein.
Ich will später dann evt. noch umformatieren, das ist aber alles nicht das Problem.


Code:
[]

define('TEXT_MAINA', '17:08:00 43 111 0 2431 800 10 ,, 5 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');
define('TEXT_MAINB', '17:09:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');
define('TEXT_MAINC', '17:10:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');
define('TEXT_MAIND', '17:11:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');

A !!LOG['ID']### !
  define('O', '18:11:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');
  define('S', '18:12:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');
  define('W', '18:13:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');
  define('N', '18:14:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');

! DATA(LOG : '11.05.2006') !#
!

B !!LOG['ID1']### !
  define('K', '18:15:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');
  define('L', '18:16:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');
  define('M', '18:17:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');
  define('P', '18:18:00 43 111 0 2431 800 10 5 ,, 12 43 0 0 0 0 66 99 0 0 / 26.0?Tin 9.9Vex 0.0Vbl 0.0Vbr O- S-');

! DATA(LOG : '11.05.2006') !#
!


[]

marabu 3. Jun 2006 22:15

Re: Text aus Textdatei in TEDIT auslesen und wieder speiche
 
Hallo Mirco,

wenn die Zeilen deutlich länger werden, dann wird es so oder so problematisch eine komfortable Benutzerschnittstelle zu gestalten. Ich würde beim VLE bleiben und nur bei Bedarf ein anderes Control (Memo?) einblenden:

Delphi-Quellcode:
procedure TDemoForm.LoadFile(fn: TFileName);
const
  S_DEF = 'define(';
var
  i: Integer;
  line, sName, sText: String;
  pc: PChar;
begin
  with TStringList.Create do
  begin
    LoadFromFile(fn);
    VLE.Strings.Clear;
    for i := 0 to Pred(Count) do
    begin
      line := Trim(Strings[i]);
      if AnsiStartsText(S_DEF, line) then
      begin
        pc := PChar(line);
        Inc(pc, Length(S_DEF));
        sName := AnsiExtractQuotedStr(pc, '''');
        Inc(pc, 2);
        sText := AnsiExtractQuotedStr(pc, '''');
        VLE.Strings.AddObject(sName + '=' + sText, Pointer(i));
      end;
    end;
    Free;
  end;
end;

procedure TDemoForm.SaveFile(fn: TFileName);
const
  S_FMT = 'define(%s, %s);';
var
  i, iLine: Integer;
  sName, sText: String;
begin
  with TStringList.Create do
  begin
    LoadFromFile(fn);
    for i := 1 to VLE.Strings.Count do
    begin
      sName := VLE.Keys[i];
      sText := VLE.Values[sName];
      iLine := Integer(VLE.Strings.Objects[Pred(i)]);
      Delete(iLine);
      Insert(iLine, Format(S_FMT, [AnsiQuotedStr(sName, ''''), AnsiQuotedStr(sText, '''')]));
    end;
    SaveToFile(fn);
    Free;
  end;
end;
Jetzt muss ich aber wirklich ins Bettchen.

marabu

Mirco 3. Jun 2006 23:51

Re: Text aus Textdatei in TEDIT auslesen und wieder speiche
 
Hallo marabu,
ich werde mit der VLE weiter machen.
Geil was man damit alles machen kann, hatte mich mit der Komponente noch nicht beschäftigt
Vielen, vielen Dank für deine große Hilfe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr.
Seite 2 von 2     12   

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