Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» "Полезняшки" и хитрости для VB и Delphi

Автор: BugMan
Дата сообщения: 16.02.2002 00:21
Речь здесь пойдет в основно о десктоп программировании.....
Я думаю что каждый кто профессионально занимался программированием встречался с проблемой , когда взмочаленный босс прибегает и начинает "ускорять" процесс , и приходится вместо того что бы по человечески разложить всё по классам или хотябы стандартным функциям, лепить прогу как попало. А так хочется разложить всё по полочкам, чтоб красиво работало ну и вообще шоб в классическом OOP виде было - так и суппортить гораздо легче и с точки зрения командной разработки гораздо лучше .....

Вобщем написал я тут пару симпатичных финтифлюшечек и возникло у меня такое слегка ламерское желание показать это кому-нибудь.
http://liho1eye.pochtamt.ru/zzz/ExtendedCollection.zip
Это ^ переработанная коллекция для VB - наслаждайтесь.
На днях почищу еще пару проектов и положу .....

В связи с этим предлагаю всем делиться наработками, и это не обязательно должны быть прямо готовые проэкты или классы , а хотябы небольшие процедурки , которым по вашему мнению не нашлось достойного исполнения в стандартах указанных языков.

PS Я не в коем случае не прошу никого выкладывать свои ПРОГРАММЫ, а просто "полезняшки"
Автор: Felix
Дата сообщения: 16.02.2002 01:29
нагло дам хорошую ссылку (не раз выручала!)
http://www.delphikingdom.com
Автор: BugMan
Дата сообщения: 16.02.2002 02:28
Felix сЫпасиба ! буду знать - неплохая ссыла , правда разговор был скорее о собственных работах, но и это сойдет .....


Добавлено
Вот еще фигнюшечка http://liho1eye.pochtamt.ru/zzz/TimerEx.zip - Приятный таймер для/на VB (не контрол)
Автор: BugMan
Дата сообщения: 16.02.2002 19:09
Маленькая хитрость "как скопировать обьект" на VB
Если просто написать
Код: set obj1 = obj2
Автор: BugMan
Дата сообщения: 17.02.2002 17:23
Вот еще маленький класс для упрощения работы с ADO - упрощенное открытие Connetion и Recordset http://liho1eye.pochtamt.ru/zzz/C_EZ_ADODB.zip

Добавлено
Вот еще небольшой класс для упрощенного взятия локальных переменных http://liho1eye.pochtamt.ru/zzz/C_LocalesInfo.zip

Также всем рекомендую сайт www.allapi.net - очень полезный ресурс по API для VB програмеров, там можно закачать прогу API-Guide - копия сайта в удобном виде

Добавлено
Это становится похоже на монолог
2 Wowik
Фигня - никому это здесь не нужно
Может подскажет кто соответствующий форум ?
Автор: DiMka
Дата сообщения: 17.02.2002 20:21
Почему неинтересно? Просто я например не имею большого опыта работы с ВБ и не могу поделиться своими работами подобного плана.
Автор: BugMan
Дата сообщения: 17.02.2002 20:38
DiMka
Ну ладушки.... тогда вот еще :
Найхождение незанятого имени файла

Код: Public Function FindFreeFileName(FilePath, def_Name As String, _
TimeStamp As Boolean) As String
Dim str1 As String
Dim i As Integer
Dim ST As SYSTEMTIME
Dim FName As String
Dim FExt As String
Dim Path

' convert to valid path, file name, extension
Path = FilePath
If InStrRev(FilePath, "\") <> Len(FilePath) Then Path = Path & "\"
If InStrRev(def_Name, ".") < InStrRev(def_Name, "\") Or _
InStrRev(def_Name, ".") = 0 Then
FName = def_Name
FExt = ""
Else
FName = Mid(def_Name, 1, InStrRev(def_Name, ".") - 1)
FExt = "." & Mid(def_Name, InStrRev(def_Name, ".") + 1, 255)
End If
' Generate free file name
If TimeStamp = False Then
Do
i = i + 1
str1 = Path & FName & i & FExt
Loop While ExistFile(str1)
Else
GetSystemTime ST
str1 = Path & FName & "_" & ST.wYear & ST.wMonth & ST.wDay & _
"_" & ST.wHour & ST.wMinute & ST.wSecond & FExt
If ExistFile(str1) Then Kill str1
End If

FindFreeFileName = str1
End Function
Автор: scream
Дата сообщения: 17.02.2002 21:10
BugMan
хороший монолог, поддержу тебя полезная тема,
мои 5 копеек в копилку

была у меня задача как-то наскачивать УРЛ-ов в БД,
имелся файл с перечисленными категориями, используя которые необходимо было делать запрос в какую-нить поисковую машину.
Результаты хранились в Акцессе.
Тот-же бос все бегал и просил сделать програмку за полчаса, так что не обессуть, не все красиво оформлено

Вот что получилось тогда:


frmWinMain.frm


categories.txt

Код:
8= "Art+and+Culture"
40= "Art+and+Culture" "Books"
51= "Art+and+Culture" "Books" "Booksellers"
52= "Art+and+Culture" "Books" "Distribution+Companies"
... etc
Автор: BugMan
Дата сообщения: 17.02.2002 21:29
scream
...... щас Wowik зашикает за длинный код, а вообще спасибо - в хозяйстве пригодится ....

Добавлено
2 scream
Слушай посмотри плз на проэкт в моём первом посте и скажи что думаешь ....
И выложи свой код файлом(frm) плиз, а то у меня никак неполучается его запустить
Автор: BugMan
Дата сообщения: 19.02.2002 03:33
Сегодня дописал еще один полезный SubClass для отлова сообщений когда мышь покидает или заходит на окно http://liho1eye.pochtamt.ru/zzz/MouseEvents.zip - полезнейшая вещь для написания симпатичьных контролов , особенно в связи с массовым заболеванием менеджеров XP интерфейсом .....
Автор: scream
Дата сообщения: 19.02.2002 08:01

Цитата:
Слушай посмотри плз на проэкт в моём первом посте и скажи что думаешь ....
И выложи свой код файлом(frm) плиз, а то у меня никак неполучается его запустить

К сожалению твой первый зип файл не работает , вернее не открывается. Подумалось много... но не вижу результата, поэтому промолчу.
а файлы формы так и сохраняй с расширением .frm потом можеш добавить в проект как форму.
XP-мэны болеют(болели?) Voice/VideoOverIP, контроли и все такое это уже стандарты и классика
Автор: BugMan
Дата сообщения: 19.02.2002 19:12
2 scream

Цитата:
....не работает , вернее не открывается
Попробуй еще раз - теперь завернул WinZip`ом - должно работать ....
http://liho1eye.pochtamt.ru/zzz/ExtendedCollection.zip


Цитата:
а файлы формы так и сохраняй с расширением .frm потом можеш добавить в проект как форму.
Именно так и не работает ....
У тебя VB пятый што ли ? Я создал обычный .txt , скопировал в него твой код , переименовал в .frm - выдает милион ошибок на загрузке проэкта и в коде все показывает цветом синтаксической ошибки ....


Цитата:
это уже стандарты и классика
Где ? Вернее на счет Voice/VideoOverIP понятно , а вот про "XP look" - всё в самом разгаре
Мастера большой показухи не дремлют
Автор: NeoNeo
Дата сообщения: 23.02.2002 21:46
Маленькая хитрость "как скопировать обьект" на VB
Если просто написать
Код:set obj1 = obj2
то произойдет передача референса , что бы скопировать делаем так
Код:set obj = DupObj(obj2)

function DupObj(ByVal obj as Object) as Object
set DupObj = obj
end function


При передаче по ByVal создается новый обьект , абсолютно идентичный исходному - оч полезная вещь, когда надо создавать несколько почти одинаковых обьектов с кучей свойств .....

Добавлено
Уже давал этот пример, ну да ладно .....
Определение сушествования файла :

Код:Public Function ExistFile(ByVal sSpec As String) As Boolean
On Error Resume Next
Call FileLen(sSpec)
ExistFile = (Err = 0)
End Function

Утащил это^ у BigMan_а это написано сверху /\/\/\ вот там
Автор: KEY
Дата сообщения: 16.03.2002 00:27
Приветствую Вас Господа и, поддерживая тему тоже вставляю 1коп. уж не обессудьте...

Function Bmmm(A As String) As String
Dim d As String, c As String
Dim dl As Integer
dl = Len(A)
d = Left(A, 1)
c = Mid(A, 2)
BOLmmm = UCase(d) & LCase(c)
End Function

Просто иногда надо например Фамилию Имя Отчество красиво написать а надоедает капсом пользоваться....
Автор: SilencerID
Дата сообщения: 22.03.2002 17:42
Народ, ответ на ваше:

set obj = DupObj(obj2)

function DupObj(ByVal obj as Object) as Object
set DupObj = obj
end function

В VB есть небольшое но продуманное дело:

dim obj2 as new obj1

никто так еще не пробовал?
Автор: BugMan
Дата сообщения: 22.03.2002 18:38
SilencerID
Почитай доку - это немного не о том ........

Цитата:
set obj = DupObj(obj2)
Здесь говорится о создании КОПИИ обьекта, а не нового инстанса того же класса.
Фишка заключается в том , то при вызове DupObj() создается не просто новый обьект, а еще и с абсолютно идентичными свойствами. Представь ситуацию : Тебе надо создать несколько одинаковых обьектов (или почти одинаковых), и ты пишешь:
Код: set obj = new Object
obj.Property1="ldringdbn"
obj.Property2=......
.....
obj.PropertyN="lsifdngfn"
Автор: SilencerID
Дата сообщения: 22.03.2002 18:50
2KEY, позволь заметить:

во-первых, когда сам что-то делаешь, избегай лишнего:
или убери все что связано с dl или поставь проверку при Len(dl)<2

во-вторых, в VB опять же есть своя функция, преобразующая строки:
StrConv(String,Conversion,[LocaleID]),
где, вместо String твои строки,
а Conversion = vbProperCase, и все слова будут начинаться с заглавной.

Добавлено
Уговаривать не буду...
Автор: BugMan
Дата сообщения: 22.03.2002 19:32
SilencerID

Цитата:
Уговаривать не буду..

Я например про StrConv() не знал .....
Автор: KEY
Дата сообщения: 31.03.2002 00:01
SilencerID
Благодарю за внимание к моей копейке, чесно говоря, всё верно ну а проверка длины строки это так на всякий (запасной случай), прошу прощения. А про STRConv я тоже не знал.....
Автор: vAkUuM
Дата сообщения: 16.04.2002 10:06
А вот такой у меня вопрос (прошу не судить, может быть это и элементарно): имеется книга в Excel, надо по выходу сохранить, но без подтверждения перезаписи существующего файла.
Автор: BugMan
Дата сообщения: 16.04.2002 20:29
Это касается конкретной книги, или Exel'а в принципе?
Автор: vAkUuM
Дата сообщения: 16.04.2002 23:28
А есть разница? Мне в принципе надо сохранить одну книгу,но может быть и в будущем пондобится сохранять другие.
Автор: BugMan
Дата сообщения: 17.04.2002 00:16
Если касается конкретной книги, то можно попробовать извернуться через VBA - хотя тут не уверен, может и не получиться. Если - Exel в принципе, то дорога тебе в API или Exel Object Library. В этом и заключается вопрос - Что именно тебе нужно ? - и тогда уже выбирать способ ....
Автор: UncoNNecteD
Дата сообщения: 04.05.2002 10:50
Есть у кого нибудь дельный совет по отправке данных (POST) из Дельфи на php-скрипт?
Какой компонент порекомендуете использовать? Есть ли какие подводные камни?
Заранее спасибо.
Автор: Guest
Дата сообщения: 04.05.2002 20:27
Навалом полезняшек для DELPHI
http://blackman.km.ru/primer.html
больше 50 исходников
Автор: BugMan
Дата сообщения: 05.05.2002 01:24
UncoNNecteD
вот с php у меня совсем туго , так что звиняй.....
Автор: UncoNNecteD
Дата сообщения: 05.05.2002 15:48
Да с пхп то я разберусь, главное как отправить POST запрос на Дельфях.
Автор: Kox
Дата сообщения: 06.05.2002 14:01
Библиотека содержит несколько компонентов, облегчающих создание интернет-приложений и полностью совместимых с борландовским набором интернет-компонентов:
TpsvPageProducer
TpsvScriptLib
TpsvTagLib
TWebLibrary
TpsvWebChart создает JPeg изображение из TChart
TpsvWebRTF создает JPeg изображение из документа в Rich Text
TpsvDataSetPageProducer
TpsvDBPageProducer
TpsvDBCtrlProducer аналогичен TDBCtrlGrid
TpsvDBContentProducer возвращает содержимое поля BLOB как документ
TpsvImageProducer создает изображение из TImageList
TpsvCountryProducer
TpsvDBFieldProducer
TpsvFolderProducer
TpsvWebBrowser может загрузить содержимое из строки, StringList или потока stream.
С исходными текстами

Автор: Serhiy Perevoznyk http://www.delphipages.com/resume/resume.cfm?ID=300


А вот линк на исход
http://www.delphipages.com/edit/count.cfm?ID=3104&E=1272
Автор: UncoNNecteD
Дата сообщения: 13.05.2002 08:53
Ктонить подскажите библиотеку для работы с графикой (опенгл или директ) на Дельфи. Нужна поддержка спрайтов, эффектов и т.п.
Желательно бесплатную
Автор: Wowik
Дата сообщения: 15.05.2002 00:41
развели флейм с оффтопом
Тему роняю

UncoNNecteD
Вопросы свои мог бы и отдельной темкой кидать...

Страницы: 12

Предыдущая тема: Книга по C++.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.