Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Zeri iniziali
Forum - Pascal - Zeri iniziali

Avatar
xamm (Normal User)
Newbie


Messaggi: 11
Iscritto: 30/09/2015

Segnala al moderatore
Postato alle 13:12
Venerdì, 21/10/2016
Buongiorno a tutti,
ho un piccolo problema con il Pascal, linguaggio che non conosco.
Problema banale.
Sto utilizzando un software per splittare dei file pdf che riesce a fare quello che mi serve, ma nella rinomina dei file a fine procedura ho bisogno di una personalizzazione in Pascal.
Cerco di spiegarmi: ho un tag integer che dovrebbe essere di 12; il software dopo aver splittato mi rinomina i file in es: 123456.pdf.
Io avrei bisogno di una riga di codice Pascal che mi trasformi sempre il risultato 123456.pdf in 000000123456.pdf; comunque sempre integer di 12, tipo 000000000001.pdf
Ho provato così ma non funziona, nel senso che alla fine sempre 123456.pdf restituisce invece di 000000123456.pdf:

Var
p :integer;
Var
p1 :integer;
Begin
p :=pos(' ', Tag);
p1 :=000000000000
if p<0 then
Tag := LeftStr(Tag, p1 + p)
else
Tag:= trim (Tag);
end.

Scusate, lo so che è banale, ma mi sfugge l'istruzione giusta

Grazie e buona giornata a tutti.

Massimo

PM Quote
Avatar
Goblin (Member)
Expert


Messaggi: 268
Iscritto: 02/02/2011

Segnala al moderatore
Postato alle 15:04
Venerdì, 21/10/2016
Devi restituire una variabile di tipo String, che prende in entrata la variabile TAG riempe di zeri e butta fuori il nome del file che desideri.

Qualcosa del tipo:

Codice sorgente - presumibilmente Delphi

  1. Var sFileName: String;
  2.       sTAG: String;
  3.  
  4. Function PadL(Text:String; c: char; nLen: integer): string;
  5. {Ritorna una stringa lunga nLen riempita a sinistra dal carattere c }
  6. var
  7.   i: integer;
  8. begin
  9.   Result := '';
  10.   nLen := nLen - length(Text);
  11.   for i := 1 to nLen do
  12.     Result := Result + c;
  13.   result := result + Text;
  14. end;
  15.  
  16. begin
  17.   sTAG := IntToStr(Tag); // la variabile Tag
  18.   sFileName :=PADL(sTAG, '0', 12) + '.pdf';
  19. end.





Ibis et redibis non morieris in bello
PM Quote
Avatar
xamm (Normal User)
Newbie


Messaggi: 11
Iscritto: 30/09/2015

Segnala al moderatore
Postato alle 16:00
Venerdì, 21/10/2016
Ciao goblin,
Grazie innanzitutto per la risposta.
In realtà l'estensione pdf gia ci pensa pdf content splitter a metterla e quindi il mio problema rimane solo sulla stringa. Domanda: devo quindi togliere dal tuo codice solo l'ultimo pezzo di codice dove gli passo l'estensione pdf ?
Grazie ancora
Massimo

PM Quote
Avatar
Goblin (Member)
Expert


Messaggi: 268
Iscritto: 02/02/2011

Segnala al moderatore
Postato alle 16:15
Venerdì, 21/10/2016
Si, se non ti serve l'estensione.
A rileggere il tuo codice direi che potrebbe diventare una cosa del tipo:
Codice sorgente - presumibilmente Delphi

  1. Function PadL(Text:String; c: char; nLen: integer): string;
  2.     {Ritorna una stringa lunga nLen riempita a sinistra dal carattere c }
  3.     var
  4.       i: integer;
  5.     begin
  6.       Result := '';
  7.       nLen := nLen - length(Text);
  8.       for i := 1 to nLen do
  9.         Result := Result + c;
  10.       result := result + Text;
  11.     end;
  12.      
  13.     begin
  14.       Tag :=PADL(Tag, '0', 12);
  15.     end.



Ibis et redibis non morieris in bello
PM Quote
Avatar
xamm (Normal User)
Newbie


Messaggi: 11
Iscritto: 30/09/2015

Segnala al moderatore
Postato alle 9:56
Lunedì, 24/10/2016
Buongiorno Goblin,
il codice sembra funzionare ma alla fine tutti i file si chiamano 000000000000.pdf....

Buona giornata

PM Quote
Avatar
xamm (Normal User)
Newbie


Messaggi: 11
Iscritto: 30/09/2015

Segnala al moderatore
Postato alle 10:14
Lunedì, 24/10/2016
Buongiorno Goblin,
il codice sembra funzionare ma alla fine tutti i file si chiamano 000000000000.pdf....

Buona giornata

PM Quote
Avatar
Goblin (Member)
Expert


Messaggi: 268
Iscritto: 02/02/2011

Segnala al moderatore
Postato alle 17:35
Lunedì, 24/10/2016
la variabile Tag qualcuno la deve inizializzare... il tuo è risultato è 000000000000.pdf proprio perchè la tua variabile Tag è uguale a 0.
G.


Ibis et redibis non morieris in bello
PM Quote