Обсуждение программирования на Visual Basic в конференции ru.visual.basic
Пpокpутка в TextBox |
From: "A. Skrobov" Tue Jul 20 2004 22:22, Roman Yuakovlev wrote to A Skrobov: RY>>>>> Правда я решил вопрос намного проще. ;) AS>>>> Весьма любопытно - и как? RY>>> Смеяться будете. Без апей и сабклассингов. причем делать RY>>> Show/Hide тоже не подходило. ;) AS>> Hу так как? :-) RY> Я тебе исходник пришлю ;) RY> А если загадки любишь - то загадку покажу. ;) Давай ;-) "В каждом исходнике должна быть загадка, а также подсказка и отгадка" (почти анекдот) * Origin: FidoNet Online (2:5020/175.2) |
разница в записи |
From: "A. Skrobov" Tue Jul 20 2004 22:21, Roman Yuakovlev wrote to Alexander Trishin: >>> У меня более ста констант. Еще как назло руку вывихнул. И сижу, к >>> каждой приписываю As String. И думаю - а оно мне надо? AT>> А что, Find & Replace уже не в моде? RY> А что можно финдить и реплейсить? Учитывая, не зная, что финдить и RY> реплейсить. Выделил блок объявлений -> Ctrl-H -> Find what: =, Replace with: As String =, Search: Selected Text. * Origin: FidoNet Online (2:5020/175.2) |
для телепатов |
Option Explicit Public Declare Function CreateFile& Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) Public Declare Function CloseHandle& Lib "kernel32" (ByVal hObject As Long) Public Declare Function GetLastError& Lib "kernel32" () Public Declare Function SetEndOfFile Lib "kernel32" (ByVal hFile As Long) As Long Declare Function FlushFileBuffers& Lib "kernel32" (ByVal hFile As Long) Public Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, dwOverlapped As Long) As Long Public Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal dwOverlapped As Long) As Long Public Declare Function SetFilePointer& Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) Public pz1 As Long, pz2 As Long Const d2 As Double = 4294967296# Private Const GENERIC_READ = &H80000000 Private Const GENERIC_WRITE = &H40000000 Private Const OPEN_EXISTING = 3 Public myBlock() As Byte Private Sub main() Dim inHandle As Long, outHandle As Long ReDim myBlock(99) Dim s As String TryOpenForRead "mytext", inHandle TryOpenForWrite "mytext2", outHandle, 2 MakeSizes 100, pz1, pz2 SetFilePointer inHandle, pz2, pz1, 0 ReadFile inHandle, myBlock(0), 100, 0, 0& Dim z As Long s = myBlock 'SetFilePointer outHandle, pz2, pz1, 0 WriteFile outHandle, "1234", 4, z, 0& FlushFileBuffers (outHandle) MsgBox GetLastError & " " & z SetEndOfFile outHandle CloseHandle (inHandle) CloseHandle (outHandle) End Sub Public Function TryOpenForRead(fname, hFile As Long) As Boolean hFile& = CreateFile&(fname, GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0) If GetLastError <> 0 Then TryOpenForRead = False Else TryOpenForRead = True End Function Public Function TryOpenForWrite(fname, hFile As Long, flag As Long) As Boolean hFile& = CreateFile&(fname, GENERIC_WRITE Or GENERIC_READ, 0, 0&, flag, 0&, 0&) If GetLastError <> 0 Then TryOpenForWrite = False Else TryOpenForWrite = True End Function Public Sub MakeSizes(pxx As Double, px1x As Long, px2x As Long) Dim fs As Double Dim px1 As Double, px2 As Double fs = pxx px1 = fs / d2 px1 = Int(px1) px2 = fs - (px1 * d2) If px2 > 2147483647# Then px2 = px2 - d2 px1x = CLng(px1) px2x = CLng(px2) End Sub Полный код, чтобы понятнее было. В чем моя беда? :( * Origin: 1134 (2:5045/44.13) |
Пpокpутка в TextBox |
RY>>>>>> Правда я решил вопрос намного проще. ;) AS>>>>> Весьма любопытно - и как? RY>>>> Смеяться будете. Без апей и сабклассингов. причем делать RY>>>> Show/Hide тоже не подходило. ;) AS>>> Hу так как? :-) RY>> Я тебе исходник пришлю ;) RY>> А если загадки любишь - то загадку покажу. ;) AS> Давай ;-) AS> "В каждом исходнике должна быть загадка, а также подсказка и отгадка" AS> (почти анекдот) www.listsoft.ru/14897/ Третья кнопка тулбара. ;) * Origin: 1134 (2:5045/44.13) |
ReadFile/WriteFile |
RY>> Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As RY>> Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As RY>> Long, lpNumberOfBytesWritten As Long, dwOverlapped As Long) As RY>> Long AS> Hадо: ByVal dwOverlapped As Long Блин, а я стока маялся - нихрена не работало. А СЕЙЧАС РАБОТАЕТ! СПАСИБО! Только неправильно работает. ;( Hо главное - хоть что-то пишет. * Origin: 1134 (2:5045/44.13) |
разница в записи |
>>>> У меня более ста констант. Еще как назло руку вывихнул. И сижу, к >>>> каждой приписываю As String. И думаю - а оно мне надо? AT>>> А что, Find & Replace уже не в моде? RY>> А что можно финдить и реплейсить? Учитывая, не зная, что финдить RY>> и реплейсить. AS> Выделил блок объявлений -> Ctrl-H -> Find what: =, Replace with: As AS> String =, Search: Selected Text. Так они еще не объявлены! ;) * Origin: 1134 (2:5045/44.13) |
ReadFile/WriteFile |
From: "A. Skrobov" Wed Jul 21 2004 00:05, Roman Yuakovlev wrote to A. Skrobov: RY>>> Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As RY>>> Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As RY>>> Long, lpNumberOfBytesWritten As Long, dwOverlapped As Long) As RY>>> Long AS>> Hадо: ByVal dwOverlapped As Long RY> Блин, а я стока маялся - нихрена не работало. RY> А СЕЙЧАС РАБОТАЕТ! СПАСИБО! RY> Только неправильно работает. ;( Hо главное - хоть что-то пишет. Hадо было сразу сюда писать :-) * Origin: FidoNet Online (2:5020/175.2) |
Пpокpутка в TextBox |
From: "A. Skrobov" Tue Jul 20 2004 23:58, Roman Yuakovlev wrote to A. Skrobov: RY>>> А если загадки любишь - то загадку покажу. ;) AS>> Давай ;-) AS>> "В каждом исходнике должна быть загадка, а также подсказка и отгадка" AS>> (почти анекдот) RY> http://www.listsoft.ru/14897/ RY> Третья кнопка тулбара. ;) Перетекают строки при наведении/потере фокуса. Это? * Origin: FidoNet Online (2:5020/175.2) |
Пpокpутка в TextBox |
RY>>>> А если загадки любишь - то загадку покажу. ;) AS>>> Давай ;-) AS>>> "В каждом исходнике должна быть загадка, а также подсказка и AS>>> отгадка" (почти анекдот) RY>> http://www.listsoft.ru/14897/ RY>> Третья кнопка тулбара. ;) AS> Перетекают строки при наведении/потере фокуса. Это? Что делают??? * Origin: 1134 (2:5045/44.13) |
Re: работа с jpg |
Hello, Max! You wrote to "Roman Yuakovlev" 00:57:22: RY>> Hа VB есть примеры работы с JPG? А то в отличие от GIF/BMP, там RY>> математика, а в математике я разбираюсь так же, как ... короче конус RY>> от косинуса не отличу. :( RY>> Может есть уже готовые реализации? Интересует все, и Progressive JPED RY>> compression, и EXIF, и все прочее... ME> Есть вроде на cpp что-то вроде libjpeg или как-то так; exif можно ME> вроде бы читать с помощью класса image из gdi+ (если есть gdi+ ;)) или ME> с помощью соответствующих api функций. С примерами не помогу :) Я тут накатал класс для сабжа через GDI+, вместе с EXIF-ом. Он тут, вместе с примером: mix.web.ur.ru/bundle.rar Если понравится, пиши мылом. Если что-то не так - всё равно пиши, поправлю :-) * Origin: Then our fish said, "Look! Look!" (2:5080/1003.16) |