[PROGRESS] bestandsnaam genereren met systeemdatum en tijd

Pagina: 1
Acties:
  • 109 views sinds 30-01-2008
  • Reageer

  • vandenhende
  • Registratie: Februari 2002
  • Laatst online: 20-05 14:48
Ik zou graag een tekstbestand genereren met progress.

De bedoeling is dat de bestandsnaam gaat worden: ART[datum][tijd].txt
datum en tijd moet de systeemdatum/tijd worden op het moment dat het bestandje aangemaakt wordt. Het formaat: datum YYYYMMDD en de tijd HHMMSS.

Dus ARTYYYYMMDDHHMMSS.txt

Nu heb ik het volgende geprobeerd (en al 100 andere varianten hiervan :+ )
code:
1
2
3
def var bestandsnaam as character no-undo. 
assign bestandsnaam = "c:\temp\" + "ART" + STRING(DATE, 'YYYYMMDD') 
+ STRING(TIME, 'HHMMSS') + ".txt".

De foutmelding die ik bij bovenstaande code krijg is:
DATE matches multiple fields in PART. (3509)
The partial field name DATE matches multiple field names in the named table. You did not give the Compiler enough information. Specify the field name more precisely.


Maar hij moet niet in de tabel kijken maar hij moet naar systeemdatum en tijd kijken.

Ik heb de help functie gebruikt bij de progress procedure editor en heb ook hier gezocht: Primus eSupport

Misschien dat iemand iets structureel fouts ziet aan mijn code of dat iemand me een beetje verder kan helpen.
_/-\o_

[ Voor 18% gewijzigd door vandenhende op 28-10-2004 11:42 ]


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 19-05 20:34

Gerco

Professional Newbie

Gebruik TODAY ipv DATE. DATE is geen Progress 4GL functie.

Hiernaast denk ik niet dat Progress je formats gaat snappen. Op de 1 of andere manier EIST het dat je tijdformaat 1 of 2 ':' tekens bevat. Zelfde geld voor het datumformaat, maar dan met -, / of nog wat andere tekens. Dit kan per progress versie verschillen, ik heb dit gedrag gezien bij versies 8.2B t/m 9.1D.

[ Voor 83% gewijzigd door Gerco op 28-10-2004 12:26 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • vandenhende
  • Registratie: Februari 2002
  • Laatst online: 20-05 14:48
Bedankt voor je reactie gerco. Met Today werkt het beter volgens mij.

Ben een eind in de richting lijkt me:
code:
1
2
assign bestandsnaam = "c:\temp\" + "ART" + STRING(Today) + 
STRING(TIME, 'HH:MM:SS') + ".txt".

So close and yet so far away... :Y)
Krijg nu namelijk andere melding:
Progress errormelding 98

Kan bestand C:\temp\ART28/10/0412:52:59.txt niet openen Errno=2.(98)

Het zit hem dus toch in die / en : in de bestandsnaam. alleen hoe ga ik die eruit krijgen? :7

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 19-05 20:34

Gerco

Professional Newbie

Een bestandsnaam mag onder windows geen : of / bevatten :)

Ik had hetzelfde probleem en heb dat op de volgende manier opgelost:
REPLACE(STRING(TIME, "HH:MM:SS"), ":", "")

Eigenlijk van de zotte dat het zo moet, maar goed, dit werkte en ik heb niet verder meer gekeken.

PS. Dit is wel heel erg basic, je eerste keer Progress ?

[ Voor 33% gewijzigd door Gerco op 28-10-2004 13:30 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • vandenhende
  • Registratie: Februari 2002
  • Laatst online: 20-05 14:48
[b]Gerco schreef op 28 oktober 2004 @ 13:28
PS. Dit is wel heel erg basic, je eerste keer Progress ?
Ja dat is het wel min of meer ja. 8)

Maar dat er geen : en / in een bestandsnaam mogen dat snap ik nog net wel :Y)
Het zou handig zijn om eens een boek aan te schaffen van Progress. Je moet tenslotte ergens beginnen. Bedankt voor je hulp wederom!