Athos Posted January 4, 2006 Posted January 4, 2006 Sziasztok! Visual Basicben kéne egy DBF fájlt elérnem. Tud valaki ebben segíteni? Fontos, hogy a kód kéne nekem. A Microsoft Jet adatbáziskezelõjével sikerült, de karaktergondok vannak - az ékezetes betûk nem látszódnak. Gondoltam kipróbálom más ODBC driverrel, de nem sikerült megoldanom. Félig meddig tudom használni, de nem tudtam kinyomozni milyen paraméterezés kéne neki. Köszi!
arpsoft Posted January 4, 2006 Posted January 4, 2006 Nem tudja! Hehe... Konvertert kell hozzá írni sajnos, mivel a dbf állomány nagy valószínûséggel DOS-os kódolást használ. Esetleg megpróbálhatsz 852-es kódlapot használni, bár ezt nem tudom, mennyire eszi meg az ODBC. Egyébként ha csak olvasni szeretnéd, akkor egyszerûbb direkt fájl mûveletekkel buherálni az állományt, mivel a dbf kötött hosszúságú rekordokat tartalmaz.
Athos Posted January 4, 2006 Author Posted January 4, 2006 Ne máááááá! Ez gáz. Akkor az a program, amit találtam és tudja olvasni, az így tesz szerinted? Direkt fájlmûvelethez tudsz valami segítséget adni (pl.: DBF fájl felépítése) ?
arpsoft Posted January 4, 2006 Posted January 4, 2006 Íme a szerkezet: http://www.clicketyclick.dk/databases/xbas...html#DBF_STRUCT
Athos Posted January 4, 2006 Author Posted January 4, 2006 Köszi! A héten rácuppanok és írok egy saját DBF beolvasót.
Athos Posted January 20, 2006 Author Posted January 20, 2006 Egy újabb kérdésem lenne. Tud valaki abban segíteni, hogyan tudok olyan programot írni, ami minimalizáláskor az értesítési területre költözik?
arpsoft Posted January 20, 2006 Posted January 20, 2006 Private Type NOTIFYICONDATA cbSize As Long hWnd As Long uId As Long uFlags As Long uCallBackMessage As Long hIcon As Long szTip As String * 64 End Type Private Const NIM_ADD = &H0 Private Const NIM_MODIFY = &H1 Private Const NIM_DELETE = &H2 Private Const WM_MOUSEMOVE = &H200 Private Const NIF_MESSAGE = &H1 Private Const NIF_ICON = &H2 Private Const NIF_TIP = &H4 Private Const WM_LBUTTONDBLCLK = &H203 'Double-click Private Const WM_LBUTTONDOWN = &H201 'Button down Private Const WM_LBUTTONUP = &H202 'Button up Private Const WM_RBUTTONDBLCLK = &H206 'Double-click Private Const WM_RBUTTONDOWN = &H204 'Button down Private Const WM_RBUTTONUP = &H205 'Button up Private Declare Function Shell_NotifyIcon Lib "shell32" _ Alias "Shell_NotifyIconA" _ (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean Dim nid As NOTIFYICONDATA Private Sub Form_MouseMove _ (Button As Integer, _ Shift As Integer, _ X As Single, _ Y As Single) 'Event occurs when the mouse pointer is within the rectangular 'boundaries of the icon in the taskbar status area. Dim msg As Long Dim sFilter As String msg = X / Screen.TwipsPerPixelX Select Case msg Case WM_LBUTTONDBLCLK Form1.WindowState = 0 Form1.Visible = True End Select End Sub Private Sub Form_Load() nid.cbSize = Len(nid) nid.hWnd = Form1.hWnd nid.uId = vbNull nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE nid.uCallBackMessage = WM_MOUSEMOVE nid.hIcon = Form1.Icon nid.szTip = "This is a Tooltip text" Shell_NotifyIcon NIM_ADD, nid End Sub Private Sub Form_Resize() If Form1.WindowState = vbMinimized Then Form1.Visible = False Else Form1.Visible = True Form1.Show End If End Sub Private Sub Form_Unload(Cancel As Integer) Shell_NotifyIcon NIM_DELETE, nid End Sub
Athos Posted January 20, 2006 Author Posted January 20, 2006 Nagyon köszönöm! Ahogy közelemben lesz egy VB ki is próbálom.
Athos Posted February 7, 2006 Author Posted February 7, 2006 Word makróval hogyan tudom kitörölni a vágólap tartalmát?
kboz Posted February 26, 2006 Posted February 26, 2006 Üdv! Elõször jelentkezem - most léptem be. Visual Basic net 2005-öt kezdtem tanulmányozni,de alakadtam kérdésem: a DATA Form Wizárd, hogy érhetõ el, mert nekem a Projeck|AddNewItem|Temlates ablakban nem jelnik meg az ikonja. ( Steven Hollzner - Fekete köny - szerint kellene)
horukk Posted July 1, 2006 Posted July 1, 2006 Sziasztok. Visual Basic 6-ban szeretnék írni fájl másolásra egy olyan kódot, mint amilyet arpsoft mutatott a c/c++ topicban a #180-as hozzászólásában. Konkrétabban be szeretnék olvasni fájlt egy dinamikus tömbbe, majd azt kizáró vagy művelettel titkosítanám és visszaírnám fájlba. Ehhez kérném a segítségetekek.
horukk Posted July 1, 2006 Posted July 1, 2006 Meg ehhez is, hogy vajon miért nem találja a fájl végét. Úgy tűnik, hogy nem lép ki a ciklusból. Private Sub Command1_Click() Dim a As Long a = 0 'On Error GoTo Hiba Open "kivalasztott_file" For Binary As 1 While Not EOF(1) a = a + 1 Seek #1, a Wend Close #1 End Sub
Athos Posted July 2, 2006 Author Posted July 2, 2006 Én meg úgy csinálnám, hogy felvennék egy Integer típusú változót és elõször abba meghatároznék egy olyan sorszámot, amit még tuti lehet használni. F = Freefile Megnyitáskor és záráskor is #F-vel kell rá hivatkozni. EOF-nál nem tudom fejbõl, de szerintem a súgóban benne van.
arpsoft Posted July 3, 2006 Posted July 3, 2006 A seek egészen addig nem állítja át az EOF-ot, ameddig nem próbálsz meg olvasni a fájlból. Ez csak binary módban igaz.
horukk Posted July 3, 2006 Posted July 3, 2006 Köszi, olvasással valóban megáll a fájl végén. Az alábbi kóddal manipuláltam a biteket, de végtelen lett tõle a ciklus. Többféle lehetõséget megpróbáltam, mindig ugyanolyan rossz lett. Mit szóltok hozzá? Private Sub Command3_Click() Dim b As Long, c(100000) As Byte b = 0 Open "c:\proba2.txt" For Binary As 1 While Not EOF(1) b = b + 1 Seek #1, b Get #1, , c(b) c(b) = c(b) Xor 7 Put #1, , c(b) Wend Close #1 End Sub
arpsoft Posted July 4, 2006 Posted July 4, 2006 Private Sub Command3_Click() Dim b As Long, c(100000) As Byte, n as Long b = 0 Open "c:\proba2.txt" For Binary As 1 n=LOF(1) seek #1,1 get #1,,c for b=1 to n c(b) = c(b) Xor 7 next b seek #1,1 Put #1, , c Close #1 End Sub
payskin Posted July 5, 2006 Posted July 5, 2006 Otthon dolgozom ma bõszen, mikor szólnak Messengeren, hogy egész nap keres a Nagyfõnök. Vágtatok befelé, hogy mi lehet ez a fontos. A következõ van (nyugi, én sem értem): Visual Basicben hogy lehet használni az FRM, CRM és WSG kiterjesztésû állományokat. Az FRM-rõl tudjuk, hogy az valami ûrlapdolog, a többirõl nem tudunk semmit. Szóval, aki erre valami értelmes választ asszociál, azt nagyon megköszönném.
arpsoft Posted July 6, 2006 Posted July 6, 2006 Nem lehet, hogy a VB program használja ezeket a fájlokat? A CRM elvileg Customer Relationship Management lenne, ilyen szoftvere van a Microsoft-nak is.
horukk Posted July 6, 2006 Posted July 6, 2006 arpsoft segítségével alakul a "titkosító program". De van még egy kis gond vele. Minden egyes futtatás után a fájlhoz biggyeszt 1 bájtot. Ezt hogy lehetne kiküszöbölni? Dim b As Long, c() As Byte, n As Long b = 0 Open "c:\proba.jpg" For Binary As 1 n = LOF(1) ReDim c(n) Seek #1, 1 Get #1, , c For b = 1 To (n) c(b) = c(b) Xor 7 Next b Seek #1, 1 Put #1, , c Erase c Close #1
horukk Posted July 6, 2006 Posted July 6, 2006 Közben rájöttem a hibára . Helyesen: n = LOF(1) - 1. Így fájlba írásnál nem ad hozzá pluszba 1 bájtot.
Netkaloz Posted November 14, 2006 Posted November 14, 2006 Vb script segítségével, hogyan lehet elérni, hogyha a felhasználó az MsgBox Nem gombját választotta, a gép kijelentkezzen?
Get_in_the_Game Posted November 13, 2007 Posted November 13, 2007 Sziasztok! Nem nagyon vagyok otthon visual basicba... és Excelbe kéne csinálnom egy olyan programocskát, hogy beírok egy számot az A1 és A2 cellába... az A1 cellában lévő szám adja meg azt, hogy hány számból válasszon ki, az A2 cellában lévő pedig azt, hogy hány számot válasszon ki. Tehát például A1 10 A2 3: ez azt jelenti, hogy 0 és 10 között lévő számokból válasszon ki 3 véletlenszerű számot. Majd ezekkel a számokkal töltse fel a B oszlopot. Tudna nekem ebben valaki segíteni? Előre is köszönöm! Üdv.: Gábor
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now