Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi text in best form in einer txt speichern... (https://www.delphipraxis.net/70124-text-best-form-einer-txt-speichern.html)

KosMottchen 25. Mai 2006 14:17


text in best form in einer txt speichern...
 
huhu,

ich wollte gerne ein programm schreiben, wo ich einen best text in ein edit feld eintippe und der text dann durch einen button klick in eine txt gespeichert wird...

aber das muss in besonderer form geschehen...

eingabe in edit1: 2000


und in der ausgabe, da soll dann die 2000 nicht einfach so in der txt stehen, sondern die sollte dann

an einer best stelle in der txt erscheinen...

bsp:
----------------------------------------------------------------
ich bin ein beispiel text
und hier, genau hier 2000 soll dann die zahl stehen
hier gehts dann ganz normal weiter
-----------------------------------------------------------------

ich weiß nur leider nicht, wie ich das umstzen kann :(

danke schonmal für eurehilfe

mfg halloween

marabu 25. Mai 2006 14:39

Re: text in best form in einer txt speichern...
 
Hallo.

Beim professionellen Ansatz enthält dein Text einen Platzhalter und dein Programm sucht dann den Platzhalter und ersetzt ihn durch deinen String. In D7 erledigt das alles sehr komfortabel die Komponente TPageProducer.

Du solltest vielleicht deine Delphi-Version in deinem DP-Profil eintragen.

Grüße vom marabu

alleinherrscher 25. Mai 2006 14:43

Re: text in best form in einer txt speichern...
 
du kannst doch einfach den Text in ein String einladen

dann zerteilst du den String mit dem Befehl hier:

Returns a substring of a string or a segment of a dynamic array.

Unit

System

Category

string handling routines

function Copy(S; Index, Count: Integer): string;
function Copy(S; Index, Count: Integer): array;

Description

S is an expression of a string or dynamic-array type. Index and Count are integer-type expressions. Copy returns a substring or sub array containing Count characters or elements starting at S[Index].

If Index is larger than the length of S, Copy returns an empty string or array.

If Count specifies more characters or array elements than are available, only the characters or elements from S to the end of S are returned.

Note: When S is a dynamic array, Copy can only be used as a parameter in a call to a procedure or function that expects an array parameter. That is, it acts like the Slice function when working with dynamic arrays.


Delphi-Quellcode:

//Pseudocode:

neuerstring:=Copy(meinText,1,einfuegposition)+einfuegtext+copy(meinText,einfuegposition+1,length(meinText)-einfuegposition-1)
Mit dem -/+ 1 musst du nochmal genau nachgucken...

KosMottchen 25. Mai 2006 17:25

Re: text in best form in einer txt speichern...
 
huhu,

erstmal vielen dank an beide ;)

ich hab delphi7 ;)

wie genau werd ich dies denn mit dem TPageProducer umsetzen können?

mfg kos

marabu 25. Mai 2006 18:03

Re: text in best form in einer txt speichern...
 
Hier ein Beispiel:

Delphi-Quellcode:
uses
  HTTPApp,
  HTTPProd;

function Substitute(fnTemplate: TFileName; tagEvent: THTMLTagEvent): String;
begin
  with TPageProducer.Create(nil) do
  begin
    OnHTMLTag := tagEvent;
    HTMLFile := fnTemplate;
    Result := Content;
    Free;
  end;
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
var
  fn: TFileName;
begin
  with TStringList.Create do
  begin
    fn := ExtractFilePath(ParamStr(0)) + 'template.txt';
    Text := Substitute(fn, PageProducerHTMLTag);
    fn := ExtractFilePath(ParamStr(0)) + 'beispiel.txt';
    SaveToFile(fn);
    Free;
  end;
end;

procedure TDemoForm.PageProducerHTMLTag(Sender: TObject; Tag: TTag;
  const TagString: String; TagParams: TStrings; var ReplaceText: String);
begin
  if CompareText(TagString, 'Jahr') = 0 then
    ReplaceText := '2000';
end;
marabu

KosMottchen 31. Mai 2006 20:41

Re: text in best form in einer txt speichern...
 
huhu,

ich bin ehrlich und habe zz echt keine ahung, wie ich das durchsetzen sollt :(

gehen wirs ma einfach an...

ich hab jetzt 3 edit felder... in die lass ich ne zahl jeweils einlesen...

und als ausgabe würd ich dann gerne das entwerder in ner txt haben oder in nem memo...

egal, bei was, es müsste beides so aussehen...


text
text
text: wert aus edit1 text
text
text: wert aus edit2 text
text
text
text: wert aus edit3 text
text
text

ich daanke euch schonmal :)

mfg kos


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr.

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