mci_r 02.04.2011 16:01
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija

Kod je super samo me zanima ako fajl odgovora ide u isti fajl koji smo poslali na printanje,npr

S,1,041560,1,Ok;NEKTAR PIVO 0.5 LIMENKA 24/1;1.12;1.00;1;1;2;-0;29;
T,1,041560,2,Ok; 0 ;1.12;;;;
56,1,123450,10,Ok;0090,0453,0011;

kako da izolujem 56,1,123450,10,Ok;0090,0453,0011; iz cijelog teksta .Proba sam sa InStr i Mid ali ne ide.
Hvala unaprijed

zxz 02.04.2011 19:28
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija

Ovu proceduru sam davno napravio jer je meni cesto trebala.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function NadjiDio(Str As String, Znak As String, Dio As Integer)
  2. '******************************************************
  3. 'Ime:      NadjiDio   (Function)
  4. 'Sadržaj: Dio izmedju dva poznata karaktera
  5. 'Autor:     ZXZ
  6. 'Datum:      svibanj 16, 2008, 12:34:16
  7. 'Adresa: Tuzla BiH
  8. 'Email:     xz@icentar.ba
  9. 'Ulazni parametri:Str-String
  10.                  'Znak-Karakter razdvajac
  11.                  'Dio-Broj dijela izmedju razdvajaca
  12. 'Izlazni parametri:
  13. '******************************************************
  14. Dim DuzinaStr As Integer
  15. Dim Polozaj As Integer
  16. Dim I As Integer
  17. Dim Brojac As Integer
  18. Dim Karakter As String
  19.  
  20.  
  21.  
  22. DuzinaStr = Len(Str)
  23. If Left(Str, 1) <> Znak Then
  24.    Str = Znak & Str
  25. End If
  26. If Right(Str, 1) <> Znak Then
  27.    Str = Str & Znak
  28. End If
  29. For I = 1 To DuzinaStr
  30. Karakter = Mid(Str, I, 1)
  31.     If Karakter = Znak Then
  32.     Brojac = Brojac + 1
  33.     End If
  34.     If Brojac = Dio Then
  35.      Polozaj = InStr(I + 1, Str, Znak)
  36.      NadjiDio = Mid(Str, I + 1, Polozaj - I - 1)
  37.      GoTo Kraj:
  38.     End If
  39. Next I
  40. Kraj:
  41. End Function
a za ucitavanje filea samo treba ovo.
Open Putanja_Filea For Input As 1
Line Input #1, temp

sad ti je u temp jedan red iz fajla.
ako ima u fajlu jedan red sve ce biti ok.

zxz 02.04.2011 19:30
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija

Kome god funkcionise neki kod neka se javi miro35 ili pak neka sam opise i postavi to u temu:
Gotova rjeÅ¡enja za fiskalne uređaje

mci_r 03.04.2011 10:06
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija

Uspio sam prilagoditi
Hvala puno na trudu i strpljenju

dragan59 04.04.2011 13:48
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija

Citiraj mci_r:
Kod je super samo me zanima ako fajl odgovora ide u isti fajl koji smo poslali na printanje,npr

S,1,041560,1,Ok;NEKTAR PIVO 0.5 LIMENKA 24/1;1.12;1.00;1;1;2;-0;29;
T,1,041560,2,Ok; 0 ;1.12;;;;
56,1,123450,10,Ok;0090,0453,0011;

kako da izolujem 56,1,123450,10,Ok;0090,0453,0011; iz cijelog teksta .Proba sam sa InStr i Mid ali ne ide.
Hvala unaprijed

Mislim da u Accessu postoji komanda ReadLine koja čita red po red text fajla u string i prelazi u sljedeći red. Tako da dva puta "uprazno" učitaÅ¡, a treći put dobijaÅ¡ ono Å¡to trebaÅ¡.

zxz 04.04.2011 13:59
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija

Da naredba je line input.
Imam osjecaj da sam za ovo napisao kod ali evo:
PreuzmiIzvorni kôd (Visual Basic):
  1. Function NadjiDio(Str As String, Znak As String, Dio As Integer)
  2. '******************************************************
  3. 'Ime:      NadjiDio   (Function)
  4. 'Sadržaj: Dio izmedju dva poznata karaktera
  5. 'Autor:     ZXZ
  6. 'Datum:      svibanj 16, 2008, 12:34:16
  7. 'Adresa: Tuzla BiH
  8. 'Email:     xz@icentar.ba
  9. 'Ulazni parametri:Str-String
  10.                  'Znak-Karakter razdvajac
  11.                  'Dio-Broj dijela izmedju razdvajaca
  12. 'Izlazni parametri:
  13. '******************************************************
  14. Dim DuzinaStr As Integer
  15. Dim Polozaj As Integer
  16. Dim I As Integer
  17. Dim Brojac As Integer
  18. Dim Karakter As String
  19.  
  20.  
  21.  
  22. DuzinaStr = Len(Str)
  23. If Left(Str, 1) <> Znak Then
  24.    Str = Znak & Str
  25. End If
  26. If Right(Str, 1) <> Znak Then
  27.    Str = Str & Znak
  28. End If
  29. For I = 1 To DuzinaStr
  30. Karakter = Mid(Str, I, 1)
  31.     If Karakter = Znak Then
  32.     Brojac = Brojac + 1
  33.     End If
  34.     If Brojac = Dio Then
  35.      Polozaj = InStr(I + 1, Str, Znak)
  36.      NadjiDio = Mid(Str, I + 1, Polozaj - I - 1)
  37.      GoTo Kraj:
  38.     End If
  39. Next I
  40. Kraj:
  41. End Function

PreuzmiIzvorni kôd (Visual Basic):
  1. Const Putanja_Filea = "C:\Proba.tx" ' putanja sa imenom filea
  2. Function Broj_RacunaR()
  3. Dim temp As String
  4. Dim Poz As Integer
  5.  
  6. Close #1
  7. Open Putanja_Filea For Input As 1
  8. For Poz = 1 To 6
  9. Input #1, temp
  10. Next Poz
  11. Broj_RacunaR = temp
  12. Kraj:
  13. Close #1
  14. End Function

Zuko 05.04.2011 15:19
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija

Citat:

For Poz = 1 To 6
Input #1, temp
Next Poz
Može li se u FOR petlji umjesto TO 6 dodati neka promjenjiva jer se može desiti da račun ima puno viÅ¡e redova, i ako može kako izbrojati redove u text file-u

zxz 05.04.2011 17:41
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija

Umjesto for petlje stavis:
dim i
dim temp
While Not EOF(1)
i=i+1
Line input #1,temp' u temp je jedan red pofataka
wend
Msgbox "Ima redova" & i

Zuko 06.04.2011 11:05
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija

Hvala ZXZ, radi

adi 10.04.2011 11:07
Predmet:Re: Ideje i rjesenja iz teme fiskalizacija

@dragan59, zxz hvala na pomoći i ustupljenom kodu, radi sad i kod mene s tim da sam ja pravio joÅ¡ neke korekcije i radi malo drugačije ali izvlači br frna bez problema, postaviću ubrzo taj kod, nadam se da će joÅ¡ nekom biti od koristi Wink