ArchiRADAR Forum

ArchiRADAR Forum => GDL => Topic aperto da: gtres - 02 Ottobre 2008, 09:50

Titolo: Stringa GDL
Inserito da: gtres - 02 Ottobre 2008, 09:50
Salve a tutti,
sto cercando sul manuale una stringa GDL che faccia riferimento ad una certa data.
MI SPIEGO:
una società di vasche idromassaggio mi ha chiesto di realizzare tre modelli di vasche che vorrebbero poi inserire nel loro download per architetti, e fin qui nulla di strano.
Ma mi chiedono di fare in modo che ad una certa data, da loro stabilita es. giugno 2009, questo oggetto non abbia più la rappresentazione 3D, questo perchè aggiungendo modifiche al prodotto vorrebbero che siano fatti aggiornamenti programmati, infatti poi nel 2d comparirà una scritta che dice aggiornare file.
Nel manuale GDL non trovo un esempio di stringa che mi permetta di definire la data.
descrizione 2d e 3d similari
es: if data>01-06-09 gosub 100
     100: end

QUALCUNO DEI PIù ESPERTI PUò AIUTARMI ?   :wondering: :smitten:
Titolo: Re: Stringa GDL
Inserito da: ZioBob - 02 Ottobre 2008, 14:31
E' possibile estrarre la data corrente, anche se non in modo diretto. Si deve usare un'estensione del GDL, mi pare che si chiami DATE-TIME. Ci dev'essere qualche istruzione in merito in fondo al manuale.
La data viene comunque considerata un semplice testo, e non sarà semplicissimo usarla per fare dei confronti. Probabilmente occorrerà confrontare prima l'anno. Poi, se il risultato è TRUE si dovrà confrontare il mese, e infine il giorno.

Potrebbe esserci qualche esempio nel GDL Cookbook.
Titolo: Re: Stringa GDL
Inserito da: gtres - 02 Ottobre 2008, 17:56
qualche altro aiutino di esempio !!!!  :blushing:  :oops:
Titolo: Re: Stringa GDL
Inserito da: gtres - 02 Ottobre 2008, 17:58
 .
Titolo: Re: Stringa GDL
Inserito da: ZioBob - 02 Ottobre 2008, 22:36
inserisci queste istruzioni nella finestra Testo GDL 3D
____________________________________________

expire = 20091225
oggi = ""
ch = OPEN  ("DateTime", "", "%Y%m%d")
dummy  = INPUT (ch, "", "", oggi)
CLOSE (ch)
dummy = SPLIT(oggi, "%n", ogginum)
IF ogginum > expire THEN
   dummy = REQUEST("name_of_macro", "", NomeOgg)
   PRINT "L'oggetto "+ NomeOgg+" è scaduto."
   END
ENDIF

____________________________________________

Nella prima riga, dove io ho messo 20091225, inserisci la data di scadenza (ultimo giorno di funzionamento), nel formato AAAAMMGG.
Titolo: Re: Stringa GDL
Inserito da: gtres - 03 Ottobre 2008, 10:45
GRANDE      GRANDE      GRANDE      GRANDE      GRANDE      GRANDE     


provo subito e ti faccio sapere


Titolo: Re: Stringa GDL
Inserito da: gtres - 03 Ottobre 2008, 10:55
PERFETTO
,
poi salvo in formato binario e risolvo l'aggiornamento
Titolo: Re: Stringa GDL
Inserito da: gtres - 03 Ottobre 2008, 12:51
@ZioBob

allora ho fatto delle prove e funziona solo che mi sono accorto che se salvo il tutto in formato binario non mi funziona più la stringa GDL.
Ho notato che alcuni oggetti commerciali hanno inibito la visualizzazione del TESTO GDL 3D.
Esiste quindi una "istruzione" di blocco, per caso la conosci????  :blushing:  :bowing:  :whistling:
Titolo: Re: Stringa GDL
Inserito da: ZioBob - 03 Ottobre 2008, 14:29
Le istruzioni registrate in formato binario vengono "congelate" e non hanno più funzionamento parametrico.

Esiste sicuramente un programma (non un'istruzione) che nasconde i testi GDL, rendendoli non editabili. Si chiama (se non erro) HideScript. Ce l'avevo, molti anni fa... ma non mi è mai sembrato utile. Non ne ho mai fatto uso e non ce l'ho più.
Anche perché serve solo a complicare le cose... i parametri sono sempre visibili (e quindi riproducibili) e tutti i testi non sono criptati in nessun modo. Sono visibili aprendo il file con un editor qualsiasi... che non sia quello interno di ArchiCAD.
Titolo: Re: Stringa GDL
Inserito da: gtres - 03 Ottobre 2008, 14:55
ok grazie  :ok: