Bosna i Hercegovina



#1 06.02.2015-16:01
Avko Online
Super Moderator
Registrovan/a od: 28.05.2014-09:21
Komentari: 1,903


Subject: VB6 open binary file
zna li netko kako napisati ovo na jednostavan nacin
imamo bazu podataka
ime
prezime
datum rodenja
maticni broj
telefonski broj

sve bi podatke odjednom uneli u binarni file
onda bi po potrebi otvorili binarni file i pretrazivali po nekom kriteriju recimo godini rodenja i ispisali na ekranu osobu koja je rodena toga datuma

nesto jednostavno
hvala
...
↑  ↓

#2 06.02.2015-17:46
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 8,822


Ocjena: Ocjena:100 Subject: Re: VB6 open binary file
Evo jedan primjer sa jednim redom zapisa.
E sad ako ces odjedno unijeti podatke u bazu treba malo prepraviti odnosno napraviti petlju u unosu i naravno za iscitavanje treba napraviti pretragu.
Neznam kako si to zamislio dalje ali ako se ne snadjes opet pisi.

Prilozi:
Informacije o fajlu: zip  binarni_fajl.zip
Preuzimanja: 3
Veličina: 2.45 KB


Pozdrav
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 06.02.2015-17:46 od strane zxz. ↑  ↓

#3 06.02.2015-19:40
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,042


Subject: Re: VB6 open binary file
Avko ima potreba od nesto sto sleduva vo idnina i sto ke bidi uslov za da se prodade programa ,a toa e kriptirajne i zastita na podatocite i toa ne samo za prenos tuku i za koristejne.
toa e idninata na programirajneto.
koj ke napravi po bezbeden i pofunkcionalen program toj ke prodava.
bravo za idejava so binarno pretvorajne.
↑  ↓

#4 06.02.2015-20:05
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 8,822


Subject: Re: VB6 open binary file
Ako misli na zastitu binarni zapis nije nikakva zastita.
To se lako iscita cak i kada bi binarno zapisao svaki karakter sto ovdje nije slucaj.
Nisam ja bas siguran sta mu je ideja.
Ako misli na zastitu onda treba napraviti neko svoje kriptovanje podataka.
Pozdrav
↑  ↓

#5 07.02.2015-11:42
Avko Online
Super Moderator
Registrovan/a od: 28.05.2014-09:21
Komentari: 1,903


Subject: Re: VB6 open binary file
nisam mislio na zastitu podataka vec na manje zauzimanja prostora i mozda brzi rad sa podacima
...
↑  ↓

#6 07.02.2015-11:54
Avko Online
Super Moderator
Registrovan/a od: 28.05.2014-09:21
Komentari: 1,903


Subject: Re: VB6 open binary file
neznam zasto nemogu editirat poruku pa nadodat odgovor?

Me.TelB = Ucitani.Tel
trebalo je ispraviti u
Me.TelB = Ucitani.TelB
hvala na odgovoru dobro ce mi doci za daljnu zabavu sa podacima
e sada zasto se koriste moduli, jeli se moglo staviti sve u jednu stranu, zapravo meni se dogadalo da neke varijable izgube vrijednost kada odem na modul pa sam iz toga razloga cijeli kod pisao samo na jednoj strani
...
↑  ↓

#7 07.02.2015-11:55
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 8,822


Subject: Re: VB6 open binary file
Onda ok.
Probaj ono sto sam zakacio primijeniti kod sebe pa ako zapnes javi se.
Pozdrav
↑  ↓

#8 08.02.2015-15:40
Avko Online
Super Moderator
Registrovan/a od: 28.05.2014-09:21
Komentari: 1,903


Subject: Re: VB6 open binary file
vidim ima tu ljudi koji oce pomoc pa cu iskoristiti to Smiling
imamo u excel-u list1 i list2
na list1 - maticni broj, ime, prezime, datum rodenja
na list2 - maticni broj, ime, prezime, adresa, telefon



u vba napisao sam kod koji sprema u popis.bin datoteku. uz pomoc maticnog broja nade odredenu osobu na list2 i doda podatke evo kod:
  1. Type osoba
    maticniBr As Long
    ime As String
    prezime As String
    datumR As Date
    adresa As String
    telefon As Double
    End Type
    Sub saveBinFile()
    Dim O As osoba
    Dim maticni As Long 'vrijednost kucice
    Dim strSize As Long

    'stvoriti novu datoteku i otvoriti ju za binarni pristup
    Open "c:\popis.bin" For Binary Lock Read Write As 1

    'idemo od prvog zapisa do zadnjeg
    'ovdje bi mogli odrediti zadnji zapis sa redEnd=(Cells(1, Columns.Count).End(xlToLeft).Column
    For f = 1 To 50
    'aktiviramo prvi list na kojem imamo maticni, ime, prezime i datum rod
    Worksheets("list1").Select
    maticni = Cells(f + 1, 1)
    O.maticniBr = maticni
    O.ime = Cells(f + 1, 2)
    O.prezime = Cells(f + 1, 3)
    O.datumR = Cells(f + 1, 4)

    'aktiviramo drugi list na kojem imamo adresu i telefon nademo uz pomoc naredbe vlookup i maticnog broja
    Worksheets("list2").Select
    O.adresa = Application.WorksheetFunction.VLookup(maticni, Range("A2:e51"), 4, False)
    O.telefon = Application.WorksheetFunction.VLookup(maticni, Range("A2:e51"), 5, False)

    'upisujemo nadene podatke u f red
    Put 1, , O.maticniBr 'netrebamo duzinu jer se radi o broju
    strSize = Len(O.ime) 'trebamo duzinu jer se radi o stringu
    Put 1, , strSize
    Put 1, , O.ime
    strSize = Len(O.prezime) 'trebamo duzinu jer se radi o stringu
    Put 1, , strSize
    Put 1, , O.prezime
    Put 1, , O.datumR 'netrebamo duzinu jer se radi o datumu
    strSize = Len(O.adresa) 'trebamo duzinu jer se radi o stringu
    Put 1, , strSize
    Put 1, , O.adresa
    Put 1, , O.telefon 'netrebamo duzinu jer se radi o broju

    Next f 'sljedeci red

    Close 1 'zatvorimo datoteku
    End Sub

za telefon nije htijelo prihvatiti niti Long niti Integer vec samo Double
pitanje je:
dali je ovo u redu. radi to ali me zanima dali se to tako radi ili ima neki bolji algoritam, neki pravilniji nacin.
...
↑  ↓

#9 08.02.2015-17:52
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 8,822


Subject: Re: VB6 open binary file
Tvoj problem nje u zapisivanj podataka negokako ih poslije iscitavati po meni.
Neznam zasto si opisivao duzine stringova.
Po meni bolje da si stavio neki delimiter da bi poslije mogao iscitati podatke.
Ili pak ici na to da se zapise cijela struktura baze kao sto se prije radilo kada se koristila txt baza podataka.
Iznenadio si me znas dosta o tome.
Da sam znao detaljnije bi gore uradio primjer.
Pozdrav
↑  ↓

#10 08.02.2015-19:35
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 8,822


Subject: Re: VB6 open binary file
evo probaj ovako:

Type osoba
maticniBr As Long
ime As String
prezime As String
datumR As Date
adresa As String
telefon As Double
End Type

Sub saveBinFile()
Dim O As osoba
Dim maticni As Long 'vrijednost kucice
Dim strSize As Long

'stvoriti novu datoteku i otvoriti ju za binarni pristup
Open "c:\popis.bin" For Binary Lock Read Write As 1

'idemo od prvog zapisa do zadnjeg
'ovdje bi mogli odrediti zadnji zapis sa redEnd=(Cells(1, Columns.Count).End(xlToLeft).Column
For f = 1 To 50
'aktiviramo prvi list na kojem imamo maticni, ime, prezime i datum rod
Worksheets("list1").Select
maticni = Cells(f + 1, 1)
O.maticniBr = maticni
O.ime = Cells(f + 1, 2)
O.prezime = Cells(f + 1, 3)
O.datumR = Cells(f + 1, 4)

'aktiviramo drugi list na kojem imamo adresu i telefon nademo uz pomoc naredbe vlookup i maticnog broja
Worksheets("list2").Select
O.adresa = Application.WorksheetFunction.VLookup(maticni, Range("A2:e51"), 4, False)
O.telefon = Application.WorksheetFunction.VLookup(maticni, Range("A2:e51"), 5, False)

put 1,f,o

Next f 'sljedeci red
Close 1 'zatvorimo datoteku
End Sub

'put brojSekvencialnogfajla, brojrekorda, podatakzaunos
Pozdrav
↑  ↓

#11 08.02.2015-20:03
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,042


Subject: Re: VB6 open binary file
mene ova ic ne mi e jasno .
Vie gi zapisuvate podatocite vo fajl so ekstenzija .bin no ako go otvorime fajlot vo notepad site podatoci ke se gledaat normalno ili ke bidat vo binaren format so edinici i nuli ?
↑  ↓

#12 08.02.2015-20:39
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 8,822


Subject: Re: VB6 open binary file
Pa to sam vec gore naveo.
Mi ozvaramo samo fajl u binarnom modu.
Pozdrav
↑  ↓

#13 08.02.2015-21:28
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,042


Subject: Re: VB6 open binary file
mislis na ovaa linija
Open "c:\popis.bin" For Binary Lock Read Write As 1
i ako otvoris file vaka mozes da citas i da pisuvas co nego binarno bez nikakvi funkcii za konverzija?
↑  ↓

#14 08.02.2015-21:34
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 8,822


Subject: Re: VB6 open binary file
Otvaranje fajla binarno ne znaci i imati binarni zapis.
da bi imali binarni zapis svaki znak bi morali zasebno zabisati sa nulama i jedinicama.
Binarno otvaranje fajla daje neke druge prednosti.
Nemoras napr. odedjivati sirine redova nego zapis moze teci jedan za drugim pa zauzima manje prostora.
Nemoras imati niti delimiter izmedju kolona.
Pozdrav
↑  ↓

#15 08.02.2015-22:35
Gjoreski Offline
Super Moderator
Registrovan/a od: 02.02.2009-22:24
Komentari: 1,042


Subject: Re: VB6 open binary file
Toa ne mi bese jasno,ke go probam ova. Fala na objasnuvajne
↑  ↓

Stranice (3): 1, 2, 3


All times are GMT +01:00. Current time: 20.01.2017-19:08.