* * * *
20 Visitatori, 1 Utente
 

Autore Topic: Raudus  (Letto 51849 volte)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 2678
  • Karma: +9/-0
Re:Raudus
« Risposta #30 il: Aprile 15, 2013, 06:14:20 pm »
Saluti a tutti,
anchi'io sto provando a utilizzare Raudus con Lazarus 1.0.4  in ambiente Windows XP. Gli esempi a corredo del pacchetto funzionano  ma non ho nessun esempio per utilizzare Lazreport con Raudus. Ho provato ad ingenarmi per pubblicare in web un report ma niente da fare.  Sarei gratissimo a chio potesse / volesse aiutarmi a capire e magari fornirmi o indicarmi dove trovare qualche esempio da studiare.

I pacchetti installati sono: Raudus, Lazreport , Powerpdf e LazreportPdfExport

Grazie in anticipo

Questo è un mio pezzo di codice per fare quello che chiedi

Codice: [Seleziona]
               //genero il report e do la possibilità di scaricarlo
               NomeFilePDFSenzaPercorso:='Report_Generico_' + StringReplace(DateToStr(Now()),'/','', [rfReplaceAll]) + '_' + StringReplace(TimeToStr(Now()) ,':','.', [rfReplaceAll]) + '.pdf';
               NomeFilePDF := Application.Location + 'report' + System.DirectorySeparator + NomeFilePDFSenzaPercorso;

               RaStreamPublisher1.DownloadName:=NomeFilePDFSenzaPercorso;

               Self.frReport1.LoadFromFile(Application.Location  + 'report' + System.DirectorySeparator + 'resoconto_giornaliero.lrf');

               PreparaIlReport(frReport1);

               EsportaIlReport(frReport1, NomeFilePDF);

               appFile:=TFileStream.Create(NomeFilePDF, fmOpenRead);

               RaStreamPublisher1.Stream:=appFile;

               DeleteFile(NomeFilePDF); //ora che l'ho caricato in uno stream lo cancello

               Frm_Download.{$IFDEF RAUDUS}ShowModalNonBlocking{$ELSE}ShowModal{$ENDIF};
               Frm_Download.SetDownloadLink(RaStreamPublisher1.URL);

dove richiamo le seguenti funzioni

Codice: [Seleziona]
procedure TForm2.PreparaIlReport(ReportApp: TfrReport);
begin
          try
             try
                ReportApp.PrepareReport;
             finally
            end;
          except
                on E: Exception do
                begin
                end;
          end;
end;

procedure TForm2.EsportaIlReport(ReportApp: TfrReport; MyFile: string);
begin
          try
             try
                ReportApp.ExportTo(TFrTNPDFExportFilter, MyFile);
             finally
            end;
          except
                on E: Exception do
                begin
                end;
          end;
end;

Inoltre Frm_Download è una form con una sola label con scritto "download" e che come unit contiene il seguente codice

Codice: [Seleziona]

unit unit_download;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, StdCtrls, RaApplication, RaBase,
  RaControlsVCL;

type

  { TFrm_Download }

  TFrm_Download = class(TRaFormCompatible)
    RaLabel1: TRaLabel;
    procedure FormCreate(Sender: TObject);
    procedure SetDownloadLink(Url: String);
    procedure RaLabel1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Frm_Download: TFrm_Download;

implementation

uses
    Unit_Principale;

{ TFrm_Download }

procedure TFrm_Download.RaLabel1Click(Sender: TObject);
begin
     Self.Close;
     Form2.Show;
end;

procedure TFrm_Download.SetDownloadLink(Url: String);
begin
     RaLabel1.Caption:='<div style="text-align:center;' +
                                     'line-height:25px;">' +
                           '<a href="' + URL + '" target="_blank">' +
                             'Download' +
                           '</a>' +
                         '</div>';
end;

procedure TFrm_Download.FormCreate(Sender: TObject);
begin

end;

initialization
  {$I unit_download.lrs}

end.

Dovresti avere tutto il materiale per capire come muoverti. Fammi sapere. Ciaoooo
Ieri è passato, domani è futuro, oggi è un dono...

pnatalo

  • Newbie
  • *
  • Post: 10
  • Karma: +0/-0
Re:Raudus
« Risposta #31 il: Aprile 15, 2013, 06:42:50 pm »
Grazie, più veloce dlla luce.
Adesso mi studio il tutto e poi ti faccio sapere.
Intanto graziissimo


xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 2678
  • Karma: +9/-0
Re:Raudus
« Risposta #32 il: Aprile 15, 2013, 06:45:45 pm »
Grazie, più veloce dlla luce.
Adesso mi studio il tutto e poi ti faccio sapere.
Intanto graziissimo

Figurati, io ho dovuto perderci diverse sere al riguardo. Quindi se posso velocizzare il lavoro di qualcuno lo faccio volentieri
Ieri è passato, domani è futuro, oggi è un dono...

pnatalo

  • Newbie
  • *
  • Post: 10
  • Karma: +0/-0
Re:Raudus
« Risposta #33 il: Aprile 15, 2013, 07:24:14 pm »
Help,

purtroppo malgrado il tuo aiuto ricevo due errori che non riesco ad interpretare

il mio codice di prova è il seguente:
--------------------------------------------------------------------------------------------------

unit report1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LR_Class, lr_e_pdf, LResources, RaApplication,
  RaBase, RaControlsVCL;

type

  { TForm1 }

  TForm1 = class(TRaFormCompatible)
    frReport1: TfrReport;
    frTNPDFExport1: TfrTNPDFExport;
    RaButton_Mostra_: TRaButton;
    RaButton_Disegna_: TRaButton;
    RaStreamPublisher1: TRaStreamPublisher;
    procedure RaButton_Mostra_Click(Sender: TObject);
    procedure PreparaIlReport(ReportApp: TfrReport);
    procedure EsportaIlReport(ReportApp: TfrReport; MyFile: string);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }


procedure TForm1.RaButton_Mostra_Click(Sender: TObject);
begin
  RaStreamPublisher1.DownloadName:='prospetto.pdf';
  Self.frReport1.LoadFromFile('prospetto.lrf');

  PreparaIlReport(frReport1);
  EsportaIlReport(frReport1,'prospetto.pdf');
end;


procedure TForm1.PreparaIlReport(ReportApp: TfrReport);
  begin
            try
               try
                  ReportApp.PrepareReport;
               finally
              end;
            except
                  on E: Exception do
                  begin
                  end;
            end;
  end;

procedure TForm1.EsportaIlReport(ReportApp: TfrReport; MyFile: string);
begin
          try
             try
                ReportApp.ExportTo(TFrTNPDFExportFilter, MyFile);
             finally
            end;
          except
                on E: Exception do
                begin
                end;
          end;
end;
initialization
  {$I report1.lrs}

end.


-----------------------------


ricevo questi due errori in sequenza:


Notifica dell'eccezione deldebugger:

il progetto Raudus Application ha sollevato una eccezione di classe 'Exception' con messaggio:

Failed to create win32 control, error 1407: Impossibile trovare la classe della finestra..
In file 'win32wscontrols.pp at line 259


e l'altro:

Notifica dell'eccezione del debugger:

il progetto Raudus Application ha sollevato una eccezione di classe 'EFCreateError' con messaggio:

Unable to create file "prospetto.pdf"

At address 41DAF9

-----------------------------------------------------------------------------

Comincio a preoccuparmi ??

Grazie

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 2678
  • Karma: +9/-0
Re:Raudus
« Risposta #34 il: Aprile 15, 2013, 07:47:14 pm »
allegami il progetto e provo a testarlo
Ieri è passato, domani è futuro, oggi è un dono...

pnatalo

  • Newbie
  • *
  • Post: 10
  • Karma: +0/-0
Re:Raudus
« Risposta #35 il: Aprile 15, 2013, 08:00:28 pm »
Ti invio con piacere il progetto di prova

Spero di poter contraccambiare l'aiuto che mi stai dando.


xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 2678
  • Karma: +9/-0
Re:Raudus
« Risposta #36 il: Aprile 15, 2013, 08:12:09 pm »
allora, per prima cosa nel file report.lpr vai a sostituire

  Application.Config.WwwDiskDirectory := 'C:\lazarus\Raudus\www';

con

  Application.Config.WwwDiskDirectory := 'www';


Dopodichè devi copiare nella stessa cartella dell'esegibile la cartella www e tutti i file *.so (per linux) e i file *.dll (per win32) che trovi nella cartella scaricata dal sito di raudus. Poi vedrai che funziona. Sappi che se crei l'eseguibile e lo lanci dalla console allora funziona bene, diversamente se sei in debug da lazarus-ide allora restituisce un errore al momento della creazione del report. Inoltre il report con raudus lo puoi creare, non lo puoi disegnare. Fammi sapere perchè a me con questi accorgimenti funziona  ;)
Ieri è passato, domani è futuro, oggi è un dono...

pnatalo

  • Newbie
  • *
  • Post: 10
  • Karma: +0/-0
Re:Raudus
« Risposta #37 il: Aprile 16, 2013, 12:57:36 pm »
Buongiorno,

o seguito alla lettera le tue indicazioni ma non ho risolto.
Seguitano a comparire i messaggi di errore.
 
Probabilmente c'è qualcosa che mi sfugge.

Comunque, grazie dell'aiuto.

 

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 2678
  • Karma: +9/-0
Re:Raudus
« Risposta #38 il: Aprile 16, 2013, 02:48:51 pm »
Buongiorno,

o seguito alla lettera le tue indicazioni ma non ho risolto.
Seguitano a comparire i messaggi di errore.
 
Probabilmente c'è qualcosa che mi sfugge.

Comunque, grazie dell'aiuto.

Mandami la tua mail per messaggio rivato, ti mando la mia versione che a me funziona
Ieri è passato, domani è futuro, oggi è un dono...

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 2678
  • Karma: +9/-0
Re:Raudus
« Risposta #39 il: Aprile 19, 2013, 08:11:01 am »
pnatalo, novita'?! funziona?!
Ieri è passato, domani è futuro, oggi è un dono...

pnatalo

  • Newbie
  • *
  • Post: 10
  • Karma: +0/-0
Re:Raudus
« Risposta #40 il: Aprile 26, 2013, 07:06:54 pm »
Salve Xinyman,

sono stao fuori qualche giorno e mi sto rimettendo adesso a provare il tutto.

Il tuo programma vedo che è stato compilato in ambiente linux

Ho provato a ricompilarlo su OpenSuse 12.3 ma il risultato è stato deludente: eppure doveva funzionare visto che la tua versione ha prodotto il file pdf.

Alla fine ho capito che tra i "requisiti" le librerie che sono fornite con Raudus non vanno bene.

Quindi le ho sostituite con la stessa versione della mia distribuzione e finalmente sono riuscito a produrre il file pdf.

Tutto a posto? NO!

Al momento della compilazione Lazarus si Freezava, così bloccato che per ristabilire l'operatività lo dovevo "killare" per caricarlo di nuovo.

Evidententemente ci sono grossi problemi di compatibilità, o non so cos'altro.
Purtroppo la documentazione è pochissima e non approfondita.

Per quanto riguarda, invece, losviluppo in ambiente Windows XP, seguitano a comparire gli stessi errori che ho postato in precedenza senza alcuna possibilità di produrre il file pdf.

Sto ancora studiando il problema, sono duro ad arrendermi, ma confesso che mi sto cominciando a stancare.

Se sono stato troppo prolisso chiedo scusa.

Salutissimi


xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 2678
  • Karma: +9/-0
Re:Raudus
« Risposta #41 il: Aprile 29, 2013, 08:59:25 am »
Purtroppo io ho fatto delle prove solo in ubuntu e xubuntu
Ieri è passato, domani è futuro, oggi è un dono...

Sarox

  • Newbie
  • *
  • Post: 24
  • Karma: +0/-0
Re:Raudus
« Risposta #42 il: Luglio 11, 2013, 10:47:25 am »
Salve, sto usando da un po Raudus con Lazarus 1.0.8 su ubuntu 13.04 funziona alla grande in ogni sua componente. Vorrei chedervi se qualcuno di voi ha mai usato raudus per effettuare degli upload di file. Ovvero inviare dei file al server su cui risiede raudus dal brouser da cui ci si collega ? (vorrei creare un nuovo post ma non so come si fa :-) ) Grazie in anticipo !!!

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 2678
  • Karma: +9/-0
Re:Raudus
« Risposta #43 il: Luglio 11, 2013, 03:14:22 pm »
Ciao Sarox, benvenuto tra noi. io uso raudus regolarmente da un po. Però non ho mai avuto la necessità di fare un upload. Hai provato a contattare tramite mail l'autore di raudus?
Ieri è passato, domani è futuro, oggi è un dono...

Sarox

  • Newbie
  • *
  • Post: 24
  • Karma: +0/-0
Re:Raudus
« Risposta #44 il: Luglio 16, 2013, 11:43:05 am »
Ciao xinyiman,
ebbene si l'ho contattato subito dopo che ha rilasciato la 0.9.4 mi ha risposto di attendere la nuova release :-) solo che l'ho contattato a maggio e speravo che qualcuno avesse sperimentato un work-around. :-) Ho realizzato per la mia azienda un crm basato su lazarus-raudus-zeos-mysql e lo stiamo usando in modo efficace (raudus funziona alla grande sopra ogni aspettativa) ma adesso avremmo l'esigenza di uplodare dei file aziendali. Va bhè aspetterò solo che ho il timore di dover tornare ad Intraweb e delphi ma preferirei rimanere sull'open ! Grazie A presto.

 

Recenti

How To

Trascinare un file nel programma da xinyiman
DB concetti fondamentali e ZeosLib da xinyiman
Recuperare codice HTML da pagina web da xinyiman
Mandare mail con Lazarus da xinyiman
Stabilire il sistema operativo da xinyiman
Esempio lista in pascal da xinyiman
File INI da xinyiman
Codice di attivazione da xinyiman
Realizzare programmi multilingua da xinyiman
Lavorare con le directory da xinyiman
Utilizzare Unità esterne da Loryea
TTreeView da xinyiman
TTreeview e Menu da xinyiman
Generare controlli RUN-TIME da xinyiman
LazReport, PDF ed immagini da xinyiman
Intercettare tasti premuti da xinyiman
Ampliare Lazarus da xinyiman
Lazarus e la crittografia da xinyiman
System Tray con Lazarus da xinyiman
UIB: Unified Interbase da Microges2000
Il file: questo sconosciuto da Microges2000
Conferma di chiusura di un applicazione da xinyiman
Liste e puntatori da Microges2000
Overload di funzioni da Microges2000
Funzioni a parametri variabili da Microges2000
Proprietà da Microges2000
Conversione numerica da Microges2000
TImage su Form e Panel da Maverich
Indy gestiore server FTP lato Client da Maverich
PopUpMenu sotto Pulsante (TSpeedButton) da Maverich
Direttiva $macro da Microges2000
Toolbar da xinyiman
Evidenziare voci TreeView da Maverich
Visualizzare un file Html esterno da Maverich
StatusBar - aggirare l'errore variabile duplicata da Maverich
Da DataSource a Excel da xinyiman
Le permutazioni da xinyiman
Brute force da xinyiman
Indy 10 - Invio email con allegati da Maverich
La gestione degli errori in Lazarus da xinyiman
Pascal Script da xinyiman
Linux + Zeos + Firebird da xinyiman
Dataset virtuale da xinyiman
Overload di operatori da Microges2000
Lavorare con file in formato JSON con Lazarus da nomorelogic
Zeos ... dietro le quinte (prima parte) da Stilgar
Disporre le finestre in un blocco unico (come Delphi) da Maverich
Aspetto retrò (Cmd Line) da xinyiman
Come interfacciare periferica twain da Narciso
Ubuntu - aggiornare free pascal e lazarus da xinyiman
fpcup: installazioni parallele di lazarus e fpc da nomorelogic
Free Pascal e Lazarus sul Raspberry Pi da nomorelogic
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal. da nomorelogic
Creare un server multithread da xinyiman
guida all'installazione di fpc trunk da subversion in linux gentoo da nomorelogic
Indice da nomorelogic
DB concetti fondamentali e connessioni standard da xinyiman
Advanced Record Syntax da nomorelogic
DB concetti fondamentali e DBGrid da xinyiman
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText da xinyiman
Advanced Record Syntax: un esempio pratico da nomorelogic
Superclasse form base per programmi gestionali (e non) da nomorelogic
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox da nomorelogic
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form da nomorelogic
Superclasse form base per programmi gestionali (e non) #4 - wait animation da nomorelogic
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog da nomorelogic
Installare lazarus su mac osx sierra da xinyiman
immagine docker per lavorare con lazarus e free pascal da nomorelogic
Utenti
  • Utenti in totale: 636
  • Latest: @diego
Stats
  • Post in totale: 12668
  • Topic in totale: 1578
  • Online Today: 22
  • Online Ever: 520
  • (Novembre 04, 2018, 12:00:31 pm)
Utenti Online
Users: 1
Guests: 20
Total: 21

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.