mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Jak sprawdzic wersje programu https://forum.mix-soft.pl/viewtopic.php?f=15&t=1433 |
Strona 1 z 1 |
Autor: | JacekBomba [ 2009-11-24, 12:22 ] |
Tytuł: | Jak sprawdzic wersje programu |
Witam. W jaki sposob sprawdzic wersje programu i uruchomic fragment kodu, jesli wersja jest wyzsza niz zdefiniowana? Pozdrawiam, Jacek |
Autor: | wrob [ 2009-11-24, 12:35 ] |
Tytuł: | |
I znow pytanie - w jakim programie??? albo chociaz w jakiej linii (premium czy forte) generalnie to wystarczy nieco pomyslec i poszukac w raportach typu footer - przeciez symfonia tam zawsze drukuje wersje np mozna tam znalezc Kod: firma.ver i oczywiscie if val(firma.ver) > ...................... |
Autor: | JacekBomba [ 2009-11-24, 14:10 ] |
Tytuł: | |
Chodzilo mi raczej o warunkowa kompilacje tylko dla wersji >= 2010 (Symfonia Handel Premium). |
Autor: | wrob [ 2009-11-24, 14:26 ] |
Tytuł: | |
Hmm..... Wlasciwie AmBasic to jest interpeter - wiec nie wiem co chcesz kompilowac Ale w czym masz problem zeby uruchomic za pomoca zwyklego If albo jeden kod albo drugi nawet w tym if mozesz sobie zrobic ze raz uruchamiasz jednego raz drugiego includa - |
Autor: | JacekBomba [ 2009-11-24, 14:34 ] |
Tytuł: | |
Chodzi mi o to, ze w Symfoni 2010 pojawia sie cos takiehgo jak promocje okresowe, ktorych chyba nie ma we wczesniejszych wersjach. W przypadku Symfoni 2010 ponizszy fragment zostanie wykonany bez zadnych bledow: Kod: Int basCK=open KatalogFirmy()+"51ck.dat" for base "ck" baseError (basCK, 4) Int errCK=GetREc(basCK,FS) W wersji 2006 wyskakuje blad, ze nie ma takiej bazy (prawidlowo). Chcialbym wstawic warunek, ze jezeli mam wersje 2010 i wzwyz to wykonuj dany fragment kodu. Cos na wzor Kod: #ifdef HM330 ... #endif tylko ze w wersji od 2010 wzwyz. Probowalem czegos takiego: Kod: if val(firma.ver)>=2010 then #define HM2010 endif #ifdef HM2010 .. #endif ale nie dziala, gdyz HM2010 jest zawsze zdefiniowane. |
Autor: | wrob [ 2009-11-24, 14:42 ] |
Tytuł: | |
Kod: if val(firma.ver)>=2010 then Int basCK=open KatalogFirmy()+"51ck.dat" for base "ck" baseError (basCK, 4) Int errCK=GetREc(basCK,FS) endif |
Autor: | JacekBomba [ 2009-11-24, 15:00 ] |
Tytuł: | |
Probowalem. Niestety, wyskakuje blad: Zmienna lub SUB nie moze byc tworzona w tym miejscu. Chodzi o deklaracje zmiennych np. Int basCK=open KatalogFirmy()+"51ck.dat" for base "ck" |
Autor: | wrob [ 2009-11-24, 15:12 ] |
Tytuł: | |
Czasem trzeba po prostu pomyslec/pokombinowac np - zadeklaruj zmienne przed Kod: Int basCK,ErrCK a w if tylko podstaw Kod: if BasCk=...... endif Wtedy dziala? |
Autor: | JacekBomba [ 2009-11-24, 15:18 ] |
Tytuł: | |
Chcialem to zrobic bardziej elegancko przy pomocy wlasnie #ifdef .. #endif, ale jak widac chyba sie nie da. Dzieki, pozdrawiam Jacek |
Autor: | rafal [ 2009-11-24, 16:37 ] |
Tytuł: | |
Kod: #ifdef HMP100 Int basCK=open KatalogFirmy()+"51ck.dat" for base "ck" baseError (basCK, 4) Int errCK=GetREc(basCK,FS) #else #endif inne stałe Kod: HL110 HL100 FL100 HMP100 HMP090 HMP080 HMP070 HM340 HM330 HM320 FAP090 FAP070 FP250 FP240 FP230 FA135 |
Autor: | wrob [ 2009-11-24, 17:26 ] |
Tytuł: | |
Rafale ale jak zrobic zeby to ifdef dzialalo dla wersji "wieksza niz"? |
Autor: | JacekBomba [ 2009-11-25, 11:59 ] |
Tytuł: | |
Cytuj: Czasem trzeba po prostu pomyslec/pokombinowac Kod: #ifdef HM320 #define LTHMP100 #endif #ifdef HM330 #define LTHMP100 #endif #ifdef HM340 #define LTHMP100 #endif #ifdef HMP070 #define LTHMP100 #endif #ifdef HMP080 #define LTHMP100 #endif #ifdef HMP090 #define LTHMP100 #endif #ifndef LTHMP100 #define GEHMP100 #endif // tylko od Handel 2010 #ifdef GEHMP100 .. #endif Pozdrawiam, Jacek |
Autor: | wrob [ 2009-11-25, 13:04 ] |
Tytuł: | |
To prosciej jednak jeden if bez # :) |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |