Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-12-05, 04:09x



Odpowiedz w temacie  [ Posty: 10 ] 
setStrona 
Autor Wiadomość

Rejestracja: 2010-02-16, 09:47
Posty: 15
Post setStrona
Co oznacza taki zapis:
SetStrona(1800,0,0)

Wg pomocy mam SetStrona służy do stworzenia nowej strony raportu.

Generalnie to co w nawiasie określa marginesy? Czyli SetStrona(10,10,10,10) bedzie oznaczał cztery marginesy po 1mm? /czy raczej SetStrona(mL=10, mT=10, mT=10, mB=10)

W takim razie w jaki sposób mogę ustawić wymiary strony na np 19cm szerokosci oraz 20cm długości?


2010-02-16, 10:09
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4002
Pomógł: 448
Post 
http://forum.mojasymfonia.pl/viewtopic.php?t=366

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2010-02-16, 10:24
Wyświetl profil

Rejestracja: 2010-02-16, 09:47
Posty: 15
Post 
Dzięki za link - dużo sie dowiedziałem o tworzeniu strony.

Jednak nie znalazłem tam odpowiedzi na pytanie co robi SetStrona(1800,0,0).

Pytam, ponieważ mam gotowy raport który powinien drukować etykiety z kodami kreskowymi na drukarce termicznej na konkretnych etykietach a niestety praktycznie każda próba kończy się informacją, że albo marginesy są zbyt duże albo rozmiar strony jest nie odpowiedni
...

W związku z tym potrzebuję rozcyfrować istniejący raport i wprowadzić poprawki.

Z góry dzięki za odpowiedz.

//Adam


2010-02-16, 11:29
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4002
Pomógł: 448
Post 
co to za drukarka?

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2010-02-16, 11:36
Wyświetl profil

Rejestracja: 2010-02-16, 09:47
Posty: 15
Post 
Drukarka to Zebra TLP 2844.
Etykiety mają wymiary 3cm wysokości i 5 cm szerokości.


2010-02-16, 12:20
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4002
Pomógł: 448
Post 
1. Zaprojektuj etykietę w ZEBRA Vista Designer
2. Wydrukuj do pliku
3. W AMBasic wczytaj plik do zmiennej
4. Podmień teksty i wartości kodów paskowych
5. Zapisz do pliku
6. Za pomocą Execute i polecenia copy wyślij tak spreparowany plik do portu drukarki

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2010-02-16, 21:24
Wyświetl profil

Rejestracja: 2010-02-16, 09:47
Posty: 15
Post 
Mhm dziekie za liste kroków.

Mając na uwadze, że o istnieniu AMBasic dowiedziałem się dzisiaj :shock:, generalnie nie jestem programistą :-? to myśle, że chwilke mi zajmie zrobienie tego :mrgreen:

Ale nie będe załamywał rąk :). Ponownie wezmę sie za temat w piątek :)

Dzięki raz jeszcze


2010-02-16, 21:43
Wyświetl profil

Rejestracja: 2010-02-16, 09:47
Posty: 15
Post 
Jednak ponowie pytanie:
Co oznacza setStrona(x,y,z)?

W moim raporcie wymiry etykiety są definiowane w ten sposób:

if iOrientacja == 0 then
SetStrona(1800,0,0)
else
SetStrona(2400,0,0)
endif

strona val(strMLewy), val(strMGorny), val(strMPrawy), val(strMDolny) //buduje strone o podanych marginesach w 0,1mm

int iSzerEtykiety, iWysEtykiety
iSzerEtykiety = (str.szer) / val(strCols) - 1
iWysEtykiety = (str.wys) / val(strRows) - 1


Skąd pobierana jest informacja o szerokości i wysokości strony? Jak rozumiem kod "str.szer" pobiera szerokość strony ale ... gdzie jest ona definiowana?


2010-02-22, 08:46
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2008-04-18, 18:52
Posty: 5169
Pomógł: 59
Post 
ze sterownika drukarki


2010-02-22, 12:25
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2009-03-07, 11:13
Posty: 597
Pomógł: 34
Post 
hfall.sci:
Kod:
int sub SetStrona(int minGr, int minTx, int minWide)
//używa zmiennej typWydruku
//ustawia właściwie stronę, zgłasza komunikat,
//gdy nie można ustawić strony o wymiarach minimalnych
//dla tekstowego zwraca 1 gdy strona jest >= minWide
//-----------------------------------------------------
   wide = 0
   int orient  = 0
   string strErrMsg = "Zbyt duże marginesy lub zbyt mały rozmiar strony do sporządzenia raportu.\nZmień ustawienia drukarek domyślnych."

   if typWydruku then
      str.wydruk(1, -1, 0)
      if str.szer >= minWide then SetStrona  = wide = 1
      if str.szer < minTx then Message strErrMsg :   error ""
   else
      str.Info(0)
      if str.szer < minGr && str.wys > str.szer then orient = 1
      str.Wydruk(0, -1, orient)
      if str.szer < minGr then Message strErrMsg : error ""
   endif
endsub

Czyli w trybie graficznym odpowiada to poleceniu: str.wydruk(1, -1, orient). Orient ustawi się na poziomy, gdyby przy pionowym wydruku szerokość strony była mniejsza niż 1800.
Lepiej użyć poleceń elementarnych:
Kod:
str.Wydruk(0,-1, bPoziomo)
strona 150,150,150,150

zamiast tej dziwnej funkcji z hfall.sci.


2010-04-02, 10:46
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 10 ] 

Kto jest online

Użytkownicy przeglądający to forum: Bing [Bot] i 5 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant