Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: 

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Написал вота приблуду
 
 автор: час   (29.06.2009 в 15:47)   личное сообщение
32 Кб.
 
 

Сбор сведениёв

  Ответить  
 
 автор: Lukas   (29.06.2009 в 20:56)   личное сообщение
 
 

А где-же описание, справка?
Нет подтверждения, что текстовый файл создан, вывалилась не попрощавшись. Не культурно, однако, с ее стороны.
Я в своем бардаке на рабочем столе его не сразу и нашел.
И, наверное, надо было сначала показать основную форму, а затем окошко-пояснение что делать требуется.
А то запустил прогу, и не могу понять куда чего писать от меня требуют.

  Ответить  
 
 автор: час   (30.06.2009 в 09:54)   личное сообщение
36 Кб.
 
 

Прстите, но это для личного тасазать использования
Лежит она на флэшке, тада же и сохраняет текстовый файл,
пришёл, воткнул, и собрал сведения.

  Ответить  
 
 автор: час   (30.06.2009 в 09:58)   личное сообщение
 
 

Какиеба ещё сведения содрать?
Собрать!

  Ответить  
 
 автор: ДрЮня   (30.06.2009 в 10:18)   личное сообщение
 
 

соглашусь с Лукасом
есть такое понятие - культура программирования.
нужно с младых ногтей приучить себя писать "правильный" код, обработчики ошибок и интерфейс, понятный бабе Клаве.
после того, как выскочило сообщение "...Введите информацию о Вашей организации..." - лично у меня что-то внутри ёкнуло...

  Ответить  
 
 автор: час   (30.06.2009 в 10:34)   личное сообщение
32 Кб.
 
 


Простите за испуг.......

  Ответить  
 
 автор: час   (30.06.2009 в 10:35)   личное сообщение
36 Кб.
 
 

Описание будет кода выложу на сайте - готовую пограмму, а пока тока черновики с вами обмусоливаю....
Понял, что так - лучшее будет

  Ответить  
 
 автор: час   (30.06.2009 в 11:19)   личное сообщение
36 Кб.
 
 

Итак пока вот так ......
Жду пожеланиев и замечаниев........

  Ответить  
 
 автор: KrukVN   (30.06.2009 в 11:27)   личное сообщение
 
 

- мессейдж при загрузке однозначно раздражает
- иконку на форме отличную от стандартной разместить бы
- форму внятно обозвать
- обычно ВЕРХНИЙ РЕГИСТР выдает старого фокспрошника (имхо нинада так писать)
- выровнять контролы. сделать между ними гармоничные расстояния
- а вот за рессайз и за кнопочку 'спаси и сохрани' ВЫПОРОТЬ!!!

  Ответить  
 
 автор: час   (30.06.2009 в 11:33)   личное сообщение
36 Кб.
 
 

Спасибо!!!!
За советы спасибо!!!!!

  Ответить  
 
 автор: snipe   (30.06.2009 в 11:37)   личное сообщение
 
 

иногда еще IP и MAC знать хочеться ......

  Ответить  
 
 автор: час   (30.06.2009 в 12:00)   личное сообщение
 
 

Просканировать IP сети куда ни шло, а как же узнать какой IP у компа, на котором сидишь? - вот в чём вопрос..............

  Ответить  
 
 автор: KrukVN   (30.06.2009 в 12:20)   личное сообщение
 
 

Option Explicit

'Определение локального IP адреса

Public Const MAX_WSADescription As Long = 256
Public Const MAX_WSASYSStatus As Long = 128
Public Const ERROR_SUCCESS       As Long = 0
Public Const WS_VERSION_REQD     As Long = &H101
Public Const WS_VERSION_MAJOR    As Long = WS_VERSION_REQD \ &H100 And &HFF&
Public Const WS_VERSION_MINOR    As Long = WS_VERSION_REQD And &HFF&
Public Const MIN_SOCKETS_REQD    As Long = 1
Public Const SOCKET_ERROR        As Long = -1

Public Type HOSTENT
   hName      As Long
   hAliases   As Long
   hAddrType  As Integer
   hLen       As Integer
   hAddrList  As Long
End Type

Public Type WSADATA
   wVersion      As Integer
   wHighVersion  As Integer
   szDescription(0 To MAX_WSADescription)   As Byte
   szSystemStatus(0 To MAX_WSASYSStatus)    As Byte
   wMaxSockets   As Integer
   wMaxUDPDG     As Integer
   dwVendorInfo  As Long
End Type

Public Declare Function WSAGetLastError Lib "wsock32" () As Long

Public Declare Function WSAStartup Lib "wsock32" _
  (ByVal wVersionRequired As Long, _
   lpWSADATA As WSADATA) As Long
   
Public Declare Function WSACleanup Lib "wsock32" () As Long

Public Declare Function gethostname Lib "wsock32" _
  (ByVal szHost As String, _
   ByVal dwHostLen As Long) As Long
   
Public Declare Function gethostbyname Lib "wsock32" _
  (ByVal szHost As String) As Long
   
Public Declare Sub CopyMemory Lib "kernel32" _
   Alias "RtlMoveMemory" _
  (hpvDest As Any, _
   ByVal hpvSource As Long, _
   ByVal cbCopy As Long)

'Определение локального IP адреса
Function GetIPAddress() As String

   Dim sHostName    As String * 256
   Dim lpHost    As Long
   Dim HOST      As HOSTENT
   Dim dwIPAddr  As Long
   Dim tmpIPAddr() As Byte
   Dim i         As Integer
   Dim sIPAddr  As String

   If Not SocketsInitialize() Then
      GetIPAddress = ""
      Exit Function
   End If

   If gethostname(sHostName, 256) = SOCKET_ERROR Then
      GetIPAddress = ""
      MsgBox "Windows Sockets error " & str$(WSAGetLastError()) & _
              " has occurred. Unable to successfully get Host Name."
      SocketsCleanup
      Exit Function
   End If

   sHostName = Trim$(sHostName)
   lpHost = gethostbyname(sHostName)

   If lpHost = 0 Then
      GetIPAddress = ""
      MsgBox "Windows Sockets are not responding. " & _
              "Unable to successfully get Host Name."
      SocketsCleanup
      Exit Function
   End If

   CopyMemory HOST, lpHost, Len(HOST)
   CopyMemory dwIPAddr, HOST.hAddrList, 4

   ReDim tmpIPAddr(1 To HOST.hLen)
   CopyMemory tmpIPAddr(1), dwIPAddr, HOST.hLen

   For i = 1 To HOST.hLen
      sIPAddr = sIPAddr & tmpIPAddr(i) & "."
   Next

   GetIPAddress = Mid$(sIPAddr, 1, Len(sIPAddr) - 1)

   SocketsCleanup
End Function

Public Function HiByte(ByVal wParam As Integer) As Byte
   HiByte = (wParam And &HFF00&) \ (&H100)
End Function

Public Function LoByte(ByVal wParam As Integer) As Byte
   LoByte = wParam And &HFF&
End Function

Public Sub SocketsCleanup()
    If WSACleanup() <> ERROR_SUCCESS Then
        MsgBox "Socket error occurred in Cleanup."
    End If
End Sub

Public Function SocketsInitialize() As Boolean
   Dim WSAD As WSADATA
   Dim sLoByte As String
   Dim sHiByte As String
   
   If WSAStartup(WS_VERSION_REQD, WSAD) <> ERROR_SUCCESS Then
      MsgBox "The 32-bit Windows Socket is not responding."
      SocketsInitialize = False
      Exit Function
   End If

   If WSAD.wMaxSockets < MIN_SOCKETS_REQD Then
        MsgBox "This application requires a minimum of " & _
                CStr(MIN_SOCKETS_REQD) & " supported sockets."
        
        SocketsInitialize = False
        Exit Function
   End If

   If LoByte(WSAD.wVersion) < WS_VERSION_MAJOR Or _
     (LoByte(WSAD.wVersion) = WS_VERSION_MAJOR And _
      HiByte(WSAD.wVersion) < WS_VERSION_MINOR) Then
      
      sHiByte = CStr(HiByte(WSAD.wVersion))
      sLoByte = CStr(LoByte(WSAD.wVersion))
      
      MsgBox "Sockets version " & sLoByte & "." & sHiByte & _
             " is not supported by 32-bit Windows Sockets."
      
      SocketsInitialize = False
      Exit Function

   End If

   SocketsInitialize = True
End Function

  Ответить  
 
 автор: час   (30.06.2009 в 12:37)   личное сообщение
44 Кб.
 
 

Нифига себе......
Спасибки - щас засуну....

  Ответить  
 
 автор: час   (30.06.2009 в 12:42)   личное сообщение
48 Кб.
 
 

Засунул - спасибо!!!!!

=============
А кто такой MAC

  Ответить  
 
 автор: snipe   (30.06.2009 в 12:49)   личное сообщение
 
 

Номер сетевой карты - МАС адрес.....
устанавливается на заводе.....или системой если мост

  Ответить  
 
 автор: час   (30.06.2009 в 12:56)   личное сообщение
48 Кб.
 
 

ААААААААААААААААААА
А как до него добраться????

  Ответить  
 
 автор: час   (30.06.2009 в 13:23)   личное сообщение
60 Кб.
 
 

Пока вот так........

  Ответить  
 
 автор: час   (02.07.2009 в 16:03)   личное сообщение
52 Кб.
 
 

Теперь вот так

  Ответить  
 
 автор: час   (03.07.2009 в 15:19)   личное сообщение
60 Кб.
 
 

Или вот далее

  Ответить  
 
 автор: akkorn   (06.07.2009 в 12:49)   личное сообщение
 
 

Привет час.
Может, текстовый файл создавать без запроса пути, а сразу туда откуда запущена прога?
А в случае ошибки создания (например, запуск с CD)- тогда и запрашивать путь?

Второе. Имя этого текстового файла на мой взгляд должно совпадать с именем проги.
Представляешь, скопировал прогу, поменял имя.... Прошла неделя, файлов в той папке уже много, и ты пользуешь... Хрен сразу и отыщешь это файлик текстовый.....
Плюс к имени лучше добавлять через подчерк дату и время создания, тогда каждый файл будет уникальным. Только необходимо заранее обдумать ошибку в каком-нибудь твоем цикле- а то прога "зависнет" создавая отчеты)))))

Пример:
Прога: MyInfo.exe
Отчет: MyInfo_06-07-09_12.50.41.txt

Потом, в боксе, перед выходом уже, запрос, открыть этот файлец отчета? И открываешь в нотепаде))) Правда опять же реакцию по ошибке не забудь, если запускать будешь нотепад из c:\windows т.к. бывает, что не у всех система именно по этому пути пашет... ))))

И запроос, на введение данных (мсгбох) может не нужно выводить, и так понятно, есть ведь поля....

Про MAC вроде здесь есть кое-что
http://hiprog.com/index.php?option=com_content&task=view&id=444&Itemid=35

Это навскидку)))

  Ответить  
 
 автор: час   (06.07.2009 в 16:37)   личное сообщение
 
 

Привет!!!!!!
Огромное спасибо за "вскидку"
Это меня встрепенуло...


Плюс к имени лучше добавлять через подчерк дату и время создания, тогда каждый файл будет уникальным. Только необходимо заранее обдумать ошибку в каком-нибудь твоем цикле- а то прога "зависнет" создавая отчеты)))))


Это не совсем подходит, так как сведения обо всех я собираю в один текстовый файл - не задумываясь о егоназвании там по организациям и по компам будет разделение ============================

А началось то всё для установки номера диска - чтоба проверяя его защищаться от копирования, а выливается в , в, в ......
Ну вощем большая прога получается и пока конца её не видно

  Ответить  
 
 автор: час   (06.07.2009 в 16:44)   личное сообщение
60 Кб.
 
 

Вота какая

  Ответить  
 
 автор: час   (06.07.2009 в 16:47)   личное сообщение
 
 

Как закончу выложу исходники и саму её....
А пока жду пожеланиев и советов и примеров - что включить в неё..
У кого какие коды имеются - просьба прислать или сюда вылить

  Ответить  
 
 автор: akkorn   (07.07.2009 в 18:15)   личное сообщение
 
 

Советов- что включить в нее? Пиши лучше узкопрофильную, мой тебе совет. Чем больше фич, тем больше гемора, а если эти фишки не нужны особо, только так, для коллекции, то отработку по ошибке тебе все равно придется делать...

Итак, ЧТО было нужно в начале?

  Ответить  
 
 автор: час   (08.07.2009 в 10:21)   личное сообщение
 
 


Организация, Серийный номер и диск(C,D,E)

  Ответить  
 
 автор: akkorn   (08.07.2009 в 21:55)   личное сообщение
 
 

Как вариант- узнавать SN процессора....
(вернее ВСЕХ ядер в системе)))) - у меня пишет 4 раза для каждого ядра, но sn все одинкаовые))

Вот код, тока нужен ли- сам решай...

Public Sub GetCpuID()
Dim strComputer
Dim WMI
Dim wmiWin32Object
Dim wmiWin32Objects
Dim strText

Set WMI = GetObject("WinMgmts://" & strComputer)
Set wmiWin32Objects = WMI.InstancesOf("Win32_Processor")

For Each wmiWin32Object In wmiWin32Objects
strText = "ProcessorID: " & wmiWin32Object.ProcessorId & vbCrLf
MsgBox strText
Next
End Sub

  Ответить  
 
 автор: час   (09.07.2009 в 16:30)   личное сообщение
 
 

Спасибо !!!!
Конечно вставим код в приблуду

только может какую API нужно ещё?
А то у меня не переваривает строки

Set WMI = GetObject("WinMgmts://" & strComputer)

Set wmiWin32Objects = WMI.InstancesOf("Win32_Processor")

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList