Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: ffabio - Marzo 30, 2016, 10:45:09 am

Titolo: caricamento file di testo su n-tab in memo box runtime
Inserito da: ffabio - Marzo 30, 2016, 10:45:09 am
Ciao ragazzi, qualcuno sa come caricare a run time n file di testo in una cartella .

Non so quanti file sono quindi pensavo di creare a runtime sia il  tab che la memo con dentro il file di testo .

E qui sorgono i dubbi e i problemi .... ::) ::) ::) ::) ::)
Titolo: Re:caricamento file di testo su n-tab in memo box runtime
Inserito da: xinyiman - Marzo 30, 2016, 11:03:10 am
Ciao Fabio,  allora come prima cosa devi capire quali sono i file da leggere e tii consiglio di provare questo codice

http://www.lazaruspascal.it/index.php?page=35

che ti legge il contenuto di una directory, cosė leggi tutti i file presenti nella tua directory, poi solo allora puoi creare dei tab con dei memo
Titolo: Re:caricamento file di testo su n-tab in memo box runtime
Inserito da: ffabio - Marzo 30, 2016, 11:05:58 am
ciao xinyiman si quello lo so sono tutti i file di testo che si chiamo pagina1.txt, pagina 2. txt ecc... fino a paginan.txt

Adesso do un occhio a quello che mi hai mandato grazie ...
Titolo: Re:caricamento file di testo su n-tab in memo box runtime
Inserito da: ffabio - Aprile 08, 2016, 02:18:36 pm
Ciao Ragazzi . con questo pulsante mi creo a runtime n tabsheet dove allonterno mi tovo dei campi memo dove carico tutti i miei file di testo.




procedure TForm1.Button4Click(Sender: TObject);
 var

  nome_file: string;
 begin
    k: integer;
  newtab: TTabSheet;
  newlabel: TMemo;
  n:integer; 


 for n:=1 to  n_file   do

 begin

  k := PageControl1.PageCount + 1;



  newtab := TTabSheet.Create (PageControl1);
  newtab.PageControl:= PageControl1;
  newtab.name:= 'scheda' + IntToStr (k);
  newtab.Caption:= 'Tab' + IntToStr (k);

  newlabel:= TMemo.Create(newtab);
  newlabel.name:= 'tablabel' + IntToStr (k);
  //newlabel.caption:= 'test';
  newlabel.left:= 20;
  newlabel.top:= 20;
  newlabel.Height:=180;
  newlabel.Width:=816;
  newlabel.ScrollBars:= ssAutoBoth;
  newlabel.visible:= true;
  newlabel.parent:= newtab;

  nome_file:= 'pagina_' + IntToStr(n) + '.txt';

  newlabel.lines.LoadFromFile(nome_file);
  newtab.Caption:= nome_file + newlabel.lines[5];
 end;
 end;


Vorrei adesso trascinare il testo contenuto nel campo memo delle sheet  in un altro campo memo che lo trasforma in un file in pdf .

Qualcuno ha qualche idea ????





Titolo: Re:caricamento file di testo su n-tab in memo box runtime
Inserito da: xinyiman - Aprile 11, 2016, 01:09:50 pm
Guarda se esistono gli eventi di drag and drop per l'oggetto che usi
Titolo: Re:caricamento file di testo su n-tab in memo box runtime
Inserito da: ffabio - Aprile 12, 2016, 09:25:10 am
Il mio problema č creando a real time la tab  gli oggetti non so come fare il drug and drop di quella selezionata .

Titolo: Re:caricamento file di testo su n-tab in memo box runtime
Inserito da: xinyiman - Aprile 12, 2016, 06:02:08 pm
Devi assegnare alla creazione dell'oggetto stesso un evento che tu hai creato precedentemente. Ad esempio se crei un pulsante e vuoi assegnarli una procedura che tu hai precedentemente creato con il nome di MioEventoClick allora usi

button1.OnClick := @MioEventoClick;
Titolo: Re:caricamento file di testo su n-tab in memo box runtime
Inserito da: ffabio - Aprile 13, 2016, 01:28:11 pm
ciao xinyiman

ho baipassato il problema generando il pdf direttamente in fase di caricamento del testo senza dovermi creare l' evento draganddrop .

Ho agginto in fondo queste righe di codice

 frReport1.Clear;
  frReport1.LoadFromFile('rep.lrf');
  if frReport1.PrepareReport then
  FrReport1.ExportTo (TFrTNPDFExportFilter, agente);   

I nomi dei file me li genera correttamente ma il file ha sempre lo stesso contenuto.

Il report di lazreport si chiama rep.lrf al quale gli passo come variabile un campo memo.
Come se non ricaricasse il report con la nuova variabile che gli passo .

Idee????

Titolo: Re:caricamento file di testo su n-tab in memo box runtime
Inserito da: ffabio - Aprile 13, 2016, 03:36:48 pm
risolto non aggiornavo la variabile . :o :o :o :o