Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 4.335 pregleda

Najnovija ↓

Delfi-txt stampa 22.05.2007. u 11:43 · pre 236 meseci #1
Ima li neko resenje? Txt stampa u Delfiju6 pravi probleme na stampacima sa usb prikljuckom-nece da posalje stampanu informaciju koja se vidi na stampanje. Molim vas za pomoc! Neki tutorijal ili komanda koja ce ga naterati da prepozna stampac( sa ranijom komandom za stare stampace radi kao doksa).
Re: Delfi-txt stampa 22.05.2007. u 14:24 · pre 236 meseci #2
> Ima li neko resenje? Txt stampa u Delfiju6 pravi probleme na stampacima sa usb
> prikljuckom-nece da posalje stampanu informaciju koja se vidi na stampanje. Molim
> vas za pomoc! Neki tutorijal ili komanda koja ce ga naterati da prepozna
> stampac( sa ranijom komandom za stare stampace radi kao doksa).

Razjasni pitanje. Šta znači prepoznati štampač, ne šalje štampanu informaciju i kako štampaš?
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Delfi-txt stampa 23.05.2007. u 11:47 · pre 236 meseci #3
Ako imas mogucnosti da snimis temp fajl, mozes da posaljes komandu "notepad.exe /p ime_fajla.txt" sto ce odstampati fajl na default stampacu
Re: Delfi-txt stampa 23.05.2007. u 15:06 · pre 236 meseci #4
u pitanju je Delfi. U kodu postoji komanda koja txt stampu salje na LPT i to radi savrsenu. korisnicki ekran predvidja unos parametara na osnovu koji ih se pokupe podaci i na sledecoj formi koja je napravljena za potrbe stampe ti podaci se prikazuju. Postavljen je direktorijum u koji se smesta i iz koga se poziva txt stampa koja se prikazuje na navedenoj formi.Klikom na dugme STAMPA korisnik salje informaciju na stampu. Problem je sto kod stampaca sa USB prikluckom ta komanda ne reaguje. Putanja kojom se salje na LPT je u redu,treba mi naredba kao za LPT kojom cu stampu poslati na USB port. Inace fajl mogu da prozovem iz sacuvanog direktorijuma,ali ovo treba da koriste ljudi koji sve rade na klik i ne interesuje ih gde sam ja sta cuvao. Pozdrav
[img]
Re: Delfi-txt stampa 23.05.2007. u 15:16 · pre 236 meseci #5
Zasto jednostavno ne bi uzeo device context stampaca i sam iscrtao tekst, ili koristi neki report... ko zna na koji stampac ce neko da spampa... mozda ce stampati na neki virtualni (pdf, e-mail sender,...) stampac?
Potpis
Play Store
Re: Delfi-txt stampa 23.05.2007. u 16:22 · pre 236 meseci #6
> koji se smesta i iz koga se poziva txt stampa koja se prikazuje na navedenoj
> formi.Klikom na dugme STAMPA korisnik salje informaciju na stampu. Problem je
> sto kod stampaca sa USB prikluckom ta komanda ne reaguje. Putanja kojom se
> salje na LPT je u redu,treba mi naredba kao za LPT kojom cu stampu poslati na USB port.

Pretpostavljam da kod LPT štampe samo kopiraš sadržaj txt fajla na LPT port? Taj pristup ne može funkcionisati kod Win only štampača (kakva je većina sada), imaš nekoliko alternativa:
1) Moraš sam raditi štampanje, Printer.BeginDoc, PRinter.TextOut i sl. Ili AssignPrn (koji interno radi na prethodni način).
2) Probaj neki report alat, beše FastReport ima nešto za štampanje txt fajlova.
3) Neki specijalizovan alat za štampanje txt fajlova iz DOS programa (tj. na način kako se ranije radilo), tu je ruski dosprn ili Printing (www.wings.co.yu/download).
4) Zavisno od štampača, čak i kod USB možeš pokušati sa raw slanjem teksta, preko Win Spooler funkcija. Ovo možeš probati i sa DPrintom, komand line verzijom Printinga.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Delfi-txt stampa 23.05.2007. u 19:44 · pre 236 meseci
izmenjeno 1 put, poslednji put Miloš Baić 23.05.2007. u 20:31
  1. Miloš Baić23.05.2007. u 20:31zapis iz teksta poruke
#7
U sklopu JEDI projekta imaš par primera.
Ako ne uspeš, probaj u projekat uključiti TPrinterSetupDialog i/ili TPrinterDialog.

BTW, nemam trenutno instaliran JEDI projekat, ali mislim da se nešto može odraditi i sa TJvgReport!?!
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Re: Delfi-txt stampa 25.05.2007. u 11:54 · pre 236 meseci #9
Deo koda izgleda ovako(na Click dugmeta Stampa)

AssignFile(F, 'a.tmp');
Rewrite(F);


Write (F, Chr(10), Chr(12)); {reset printera}
Write (F, Chr(27), Chr(64)); {reset printera}
Write (F, Chr(27), Chr(54)); {STAMPA KARAKTERE 128 - 159}
{write (F, Chr(27), Chr(54), Chr(27), Chr(64));}
Case frmPPra.RadioGroup1.ItemIndex Of
0: latinica(0);
1: latinica(1);
2: cirilica;
End;

CloseFile(F);
SCREEN.Cursor := crDefault;

FreeMem(Buf, BufSize);

S := Windows.GetVersion;
If S > 0 Then Komanda := 'cmd /c copy "a.tmp" lpt1:/b'
Else Komanda := 'command.com /c copy "a.tmp" lpt1:/b';

Problem je sta da stavim umesto zadnje dve linije koda,a da mi on stampu posalje na Usb stampac.
Hvala za svu dosadasnju pomoc,ali bi posebno molio ako neko moze da mi primeni ideju sa
notepad.exe /p ime_fajla.txt izmenama u kodu.Dobrodosla je i bilo koja druga izmena!
HVALA!!!
Re: Delfi-txt stampa 25.05.2007. u 12:50 · pre 236 meseci #10
Kada želiš da kopiraš na LPT port koristiš "lpt:" u kodu. Jesi li probao da kopiraš na "USB001:" ili kako se već zove port na koji pokušavaš da štampaš?

Drugo, pošto već imaš fajl snimljen (a.tmp) startuj (WinExec ili bolje CreateProcess) "notepad.exe /p a.tmp".

Predlažem ti da ostaviš i jednu i drugu opciju u programu, pa korisnik neka podesi.

Pošto će verovatno uslediti pitanje za CreateProcess, iskoristi ovo:
Code:

function RunAndWait(FileName:String; Visibility : integer): integer;
var
  zAppName:array[0..512] of char;
  StartupInfo:TStartupInfo;
  ProcessInfo:TProcessInformation;
begin
  StrPCopy(zAppName,FileName);
  FillChar(StartupInfo,Sizeof(StartupInfo),#0);
  StartupInfo.cb := Sizeof(StartupInfo);
  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow := Visibility;
  if not CreateProcess(nil, zAppName, nil, nil, false, CREATE_NEW_CONSOLE or
    NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then
  Result := -1
  else begin
    WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
    GetExitCodeProcess(ProcessInfo.hProcess,cardinal(Result));
    CloseHandle( ProcessInfo.hProcess );
    CloseHandle( ProcessInfo.hThread );
  end;
end;


Ili pošto već imaš:
Komanda := 'cmd /c copy "a.tmp" lpt1:/b'
prepravi u/dodaj :
Komanda := 'cmd /c notepad.exe /p "a.tmp"'
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme