AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fastreport eine Textdatei laden

Ein Thema von Kostas · begonnen am 4. Mär 2014 · letzter Beitrag vom 5. Mär 2014
Antwort Antwort
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#1

AW: Fastreport eine Textdatei laden

  Alt 5. Mär 2014, 11:16
Memo.Ansitext zuweisen?
Die Eigenschaft Ansitext gibt es nicht bei Memo und auch nicht bei lines.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Fastreport eine Textdatei laden

  Alt 5. Mär 2014, 11:38
Memo.Ansitext zuweisen?
Die Eigenschaft Ansitext gibt es nicht bei Memo und auch nicht bei lines.
Seltsam, bie mir läuft folgender Code:

Delphi-Quellcode:
frComp := TfrxMemoView.Create(frBand);
frComp.Font.Charset := RUSSIAN_CHARSET;
// Unicode: Види по спецификациjа на оригиналната амбалажа.
frComp.AnsiText := 'Âèäè ïî ñïåöèôèêàöèjà íà îðèãèíàëíàòà àìáàëàæà.'; // Siehe Angaben auf der Original-Verpackung
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#3

AW: Fastreport eine Textdatei laden

  Alt 5. Mär 2014, 12:07
Du erzeugst das Objekt vermutlich im Reporter da du auf das Band Object als Owner angibst oder du holst es vorher.
Wenn das Objekt MemoView instanziiert wird, gibt es das Property "Ansitext"
Bei mir ist es so dass ich über den Designer ein Report erstelle und zur Laufzeit wenn der Event OnBeginDoc feuert
das MemoView über dessen Namen abfrage und das Textfile lade.

  with TfrxMemoView(frxreport1.findobject( ObjectName )) do Innerhalb von With... ist das Property Ansitext nicht verfügbar. Das ist mir so auch noch nie begegnet.

Gruß Kostas
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Fastreport eine Textdatei laden

  Alt 5. Mär 2014, 13:36
Das geht bei mir genauso:
TFrxMemoView(frxVbsLabel.FindComponent('qrlHerstell')).Ansitext := 'Ïðîèçâîäèòåë:// Производител: ;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#5

AW: Fastreport eine Textdatei laden

  Alt 5. Mär 2014, 13:52
Ah, jetzt habe ich verstanden. Wir reden aneinander vorbei.
Ansitext gibt es schon und ist vom Typ AnsiString. Dieser Typ hat keine Methode um direkt eine Datei zu laden
wie AnsiString.LoadFromFile. Deshalb muss ich über eine TStringList gehen. Das funktioniert auch einwandfrei.

Gruß Kostas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#6

AW: Fastreport eine Textdatei laden

  Alt 5. Mär 2014, 14:03
Delphi-Quellcode:
uses
  IOUtils;

TFrxMemoView(frxVbsLabel.FindComponent('qrlHerstell')).Text := TFile.ReadAllText('test.txt');

// oder
TFrxMemoView(frxVbsLabel.FindComponent('qrlHerstell')).Text := TFile.ReadAllText('test.txt', TEncoding.ANSI);
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#7

AW: Fastreport eine Textdatei laden

  Alt 5. Mär 2014, 14:16
jo, jetzt funkts.

Fragt sich nur was ReadAllText macht, ich habe nicht nachgeschaut.


Code:
procedure TfrmReport.SetTextFileInMemoView(ObjectName,Datei:String);
begin
  with TfrxMemoView(frxreport1.findobject( ObjectName )) do
  begin
    if FileExists(Datei) then
    begin
      Visible := true;
      AnsiText := TFile.ReadAllText(Datei, TEncoding.ANSI);
    end;
  end;
end;

Besten Dank an alle.
So werde ich es in Zukunft anwenden.
Gruß Kostas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#8

AW: Fastreport eine Textdatei laden

  Alt 5. Mär 2014, 14:58
TFile.ReadAllText gibt es natürlich als Unicode zurück (Result = String) und der Compiler sollte jetzt meckern, daß da eventuell ein Datenverlust eintreten könnte (UnicodeString => AnsiString).

Drum hatte ich auch einfach mal "blind" .Text verwendet, für die Zuweisung.

Im Prinzip macht er das Selbe, wie auch die TStringList beim Laden.
Die Datei in einen Puffer laden, Diesen via TEncoding decodieren und dann den UnicodeString an das Result übergeben.
(die TStringList zerlegt dann nur noch den UnicodeString in einzelne Zeilen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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