Results 1 to 4 of 4

Thread: Naar string outputten?

  1. #1
    Senior Member PsychoMark's Avatar
    Join Date
    Nov 2001
    Location
    Raamsdonksveer
    Posts
    10,269

    Naar string outputten?

    Ik ben even bezig voor een priveprojectje waar het gebruik van templates absoluut niet nodig is, dus ik dacht, ik gebruik gewoon even snel NLDHtmlUtils! Maar het probleem is: ik wil niet een complete HTML pagina, maar enkel een tabel...

    Nu zat ik te kijken, maar alleen THTMLPage heeft een Save functie, en deze schrijft naar een bestand. Ook kan ik van individuele onderdelen niks wegschrijven...


    Omdat dit even een snelle klus moet worden valt NLDHtmlUtils dus even af, maar ik wou dit toch even delen... een leuk structuurtje erin waarbij je van elk type een instantie kan aanmaken en een output kan krijgen van de tag en z'n subitems in verscheidene formaten zou natuurlijk best leuk zijn...
    Qui custodiet ipsos custodes

  2. #2
    Volgens mij heeft ie ook een Text property. Je moet eerst even Prepare aanroepen en vervolgens kun je de tekst uitlezen. Ik zou het wel netjes vinden als de Text property een Get method zou hebben die even Prepare uitvoert.

    Een andere vrij simpele aanpassing zou zijn om Save op te splitsen in een SaveToStream en een SaveToFile. SaveToFile kan dan weer gebruik maken van SaveToStream.

    Beide lossen natuurlijk niet het probleem van de lossen onderdelen op, maarja.
    Zo had ik dat ongeveer in gedachten.
    Code:
    procedure TNLDHtmlPage.SaveToStream(Stream: TStream);
    begin
    ifnot FPrepared then
        Prepare;
    
      Stream.WriteBuffer(Pointer(FText)^, Length(FText));
    end;
    
    procedure TNLDHtmlPage.SaveToFile(Filename: string);
    var
      FileStream: TFileStream;
    begin
    if Filename = ''then
    raise Exception.Create('TmbHTMLPage: Empty filename not allowed');
    
      if ExtractFileExt(FileName) = ''then
        FileName := FileName + '.htm';
    
      if FileExists(Filename) then
    ifnot DeleteFile(Filename) then
    raise Exception.Create('TmbHTMLPage: file access denied');
    
      FileStream := TFileStream.Create(FileName, fmCreate);
      try
        SaveToStream(FileStream);
      finally
        FileStream.Free;
      end;
    end;
    
    Eigenlijk vind ik dat het Checken of de file bestaat geen onderdeel zou moeten zijn van de Save procedure, maarja..
    1+1=b

  3. #3

    Re: Naar string outputten?

    Originally posted by PsychoMark
    Ik ben even bezig voor een priveprojectje waar het gebruik van templates absoluut niet nodig is, dus ik dacht, ik gebruik gewoon even snel NLDHtmlUtils! Maar het probleem is: ik wil niet een complete HTML pagina, maar enkel een tabel...
    Daar is inderdaad de Text property voor bedoeld. Ik maak op deze manier regelmatig tabellen aan. Dus een TNLDHTMLTable aanmaken zonder owner, regels en kolommen aanmaken en (na een Prepare) de Text opvragen.

    Er was destijds een goede reden om die Prepare apart aan te maken maar ik heb geen idee meer welke. Ik denk dat het iets te maken had met het feit dat een Prepare mar één keer mag worden aangeroepen.

    @GolezTrol, hou je vooral niet in. Ik heb je net rechten gegeven voor het project.
    Marcel

  4. #4
    Waarom kan/mag je maar één keer de text opvragen?

    [edit]
    Prepare aanroepen dus..
    1+1=b

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. NLDSimpleRegistry
    By Dany in forum NLDDanyUtils
    Replies: 8
    Last Post: 14-Oct-17, 16:45
  2. String casten naar een char ?
    By Rob Bos in forum Algemeen
    Replies: 6
    Last Post: 15-Sep-03, 17:07
  3. String naar PAnsiChar
    By sliderrr in forum Algemeen
    Replies: 3
    Last Post: 19-May-03, 15:06
  4. Cardinal converteren naar string
    By Patrick in forum Algemeen
    Replies: 8
    Last Post: 21-Nov-02, 11:17
  5. Snel een deel van een string vervangen
    By PsychoMark in forum Tiphoek
    Replies: 0
    Last Post: 07-Nov-02, 14:24

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •