Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Delphi pos print razmak

[es] :: Pascal / Delphi / Kylix :: Delphi pos print razmak

[ Pregleda: 2314 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mojeKorIme
BiH

Član broj: 59512
Poruke: 335
195.222.35.*



Profil

icon Delphi pos print razmak08.12.2006. u 06:15

Kako natjerati delphi da printa na POS papir da su brojevi sortirani

bla bla
Naziv cijena kol iznos
kafa 1 2 2
coko 1.5 3 4.5
.
.
.



kod mene se sve razleti...

moj pokusaj (naziv i cijena su ok...preumoran sam da kontam dalje)
Code:
  
printer.Canvas.TextOut(2,14,'R.BR  NAZIV             MPC  KOL  IZNOS');
  datasource1.DataSet.First;
  x:=1;
  vr:=0;
  vru:=0;
  while datasource1.DataSet.Eof=false do
  begin
  vr:=datasource1.DataSet.Fields.Fields[4].AsFloat*datasource1.DataSet.Fields.Fields[10].AsFloat;
  vru:=vru+vr;
  pro:='';//razmak izmedju cijene i naziva
  pro1:='';//razmak izmedju cijene i kolicine
  pro2:='';//razmak izmedju iznosa i kolicine
//ovo sa textout ne ide!!!
      for i:=1 to (23-length(datasource1.DataSet.Fields.Fields[19].AsString )-length(datasource1.DataSet.Fields.Fields[10].AsString)) do
      pro:=pro+' ';
      for i:=1 to (8-length(datasource1.DataSet.Fields.Fields[10].AsString)) do
      pro1:=pro1+' ';
      for i:=1 to (8-length(floattostr(vru))) do
      pro2:=pro2+' ';
      printer.Canvas.TextOut(2,14+x,inttostr(x)+'. '+datasource1.DataSet.Fields.Fields[19].AsString+pro+datasource1.DataSet.Fields.Fields[10].AsString+'     '+datasource1.DataSet.Fields.Fields[4].AsString+'     '+floattostr(vr));
     inc(x);
     datasource1.DataSet.Next;

Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
08.12.2006. u 06:15 

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 1908
195.252.107.*



Profil

icon Re: Delphi pos print razmak08.12.2006. u 08:05
> Kako natjerati delphi da printa na POS papir da su brojevi sortirani

> bla bla
> Naziv cijena kol iznos
> kafa 1 2 2
> coko 1.5 3 4.5

Nisam te najbolje shvatio, ako želiš da odštampaš uređenu listu, sortiranje moraš uraditi pre štampanja. Pogledaj QuickSort. Ako se žališ na uravnanje, moraš se obezbediti da svi redovi imaju isti broj karaktera i da sva polja uvek počinju sa istog mesta, ovo ti je verovatno najlakše da radiš pomoću Format funkcije.
08.12.2006. u 08:05 

mojeKorIme
BiH

Član broj: 59512
Poruke: 335
195.222.35.*



Profil

icon Re: Delphi pos print razmak08.12.2006. u 08:18
Laptopovi

nisam se dobro izrazio.. nisam mislio na sortiranje po nekom redosljedu nego bas
na formatiranje po sirini...
kako da koristim tu format funkciju..nisam nikad.. hvala puno
Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
08.12.2006. u 08:18 

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.dynamic.sbb.co.yu.



Profil

icon Re: Delphi pos print razmak08.12.2006. u 09:15
Koristan link:

http://www.delphibasics.co.uk/RTL.asp?Name=Format


Inace ovako

Code:

ShowMessage(Format('Hleb  %20d', [30]));


Ne zaboravi da koristis font fiskne sirine kako bi sve to imalo smisla
08.12.2006. u 09:15 

mojeKorIme
BiH

Član broj: 59512
Poruke: 335
195.222.35.*



Profil

icon Re: Delphi pos print razmak08.12.2006. u 09:43
mozes li mi navesti osnovni font koji se koristi a da je fixne sirine..
hvala-

p.s. nikako da skontam kako da napravim ako je x:=3:integer
da napise 00003.. :(

[Ovu poruku je menjao mojeKorIme dana 08.12.2006. u 11:26 GMT+1]
Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
08.12.2006. u 09:43 

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 1908
195.252.107.*



Profil

icon Re: Delphi pos print razmak08.12.2006. u 11:12
> mozes li mi navesti osnovni font koji se koristi a da je fixne sirine..

Courier New, Lucida Console. Inače ako već ispisuješ na pos štampač i ako ti treba što veća brzina možeš raditi direktno slanje sadržaja na štampač (bez Printer.Canvas) ili možeš pokušati da podesiš generic text only drajver za taj štampač.

> p.s. nikako da skontam kako da napravim ako je x:=3:integer
> da napise 00003.. :(

Format('%.10d', [3]);
08.12.2006. u 11:12 

mojeKorIme
BiH

Član broj: 59512
Poruke: 335
195.222.35.*



Profil

icon Re: Delphi pos print razmak08.12.2006. u 11:25
Code:
Format('%.10d', [inttostr(edit1.text)]);  

ne ide:(

Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
08.12.2006. u 11:25 

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 1908
*.adsl-1.sezampro.yu.



Profil

icon Re: Delphi pos print razmak08.12.2006. u 14:31
> Format('%.10d', [inttostr(edit1.text)]);
> ne ide:(

Ne čudi me ;)
Format('%.10d', [3]) mora da radi, takođe i Format('%.10d', [StrToInt(Edit1.Text)]);

BTW. kada kažeš da nešto ne radi ili ne funkcioniše objasni zašto, šta dobijaš a šta očekuješ, naročito greške spomeni.
08.12.2006. u 14:31 

codeb.s

Član broj: 67549
Poruke: 137
87.250.102.*



Profil

icon Re: Delphi pos print razmak17.12.2006. u 17:57
Neznam kakav sistem koristis za ispis POS-a (da li je ispis stringlista ili TXT fajla) ja sam se patio ali sam to na kraju odradio ovako:
Napravio sam POS racun u QuickReportu, onda sam Quickreport snimao u txt file , koji sam potom slao na LPT. Tako sam dobio i perfektno poravnane vrijednosti i izgled, ali to zavisi kako se prijesio upis i da li se uopste koristi Quickreport.

Nadam se da ce i tebi ovo odraditi posao.
17.12.2006. u 17:57 

ribar2006

Član broj: 96856
Poruke: 25
87.250.117.*



Profil

icon Re: Delphi pos print razmak18.12.2006. u 11:42
Pozdrav ne znam da li si uspio da rjesis problem do sada ali u svakom slucaju saljem ti dio svog koda kako sam ja to rijesio

Pozdrav

------
Writeln(PrintFile, '--------------------------------------');
Writeln(PrintFile, 'Artikal Kol Cijena Iznos');
Writeln(PrintFile, '--------------------------------------');
end;

begin
KasaForm.Query1.First;
while not KasaForm.Query1.Eof do
begin
I := 20 - KasaForm.DBEdit2.GetTextLen;
r := StringOfChar(#32, I);
K := 6 - KasaForm.dbedit4.GetTextLen;
s := StringOfChar(#32, K);
L := 4 - KasaForm.dbedit3.GetTextLen;
t := StringOfChar(#32, L);
M := 7 - KasaForm.dbedit5.GetTextLen;
u := StringOfChar(#32, M);
N := 2 - KasaForm.dbedit9.GetTextLen;
v := StringOfChar(#32, N);
O := 10 - KasaForm.label1.GetTextLen;
z := StringOfChar(#32, O);
PP := 8 - KasaForm.label2.GetTextLen;
w := StringOfChar(#32, PP);
Writeln(Printfile,KasaForm.DBEdit2.text,r,
t,KasaForm.Dbedit3.text,s,KasaForm.Dbedit4.Text,' ',
u,KasaForm.Dbedit5.text);
KasaForm.DBNavigator2.BtnClick(nbnext);
end;


Writeln(PrintFile, '--------------------------------------');


Ako ti nije jasno javi se

Pozdrav
18.12.2006. u 11:42 

[es] :: Pascal / Delphi / Kylix :: Delphi pos print razmak

[ Pregleda: 2314 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.