Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование (VB,C#,ASP,.NET): новости, советы, примеры



Выпуск # 159


http://www.kbyte.ru/

 

Новый выпуск!

Если у Вас возникнут какие-либо вопросы, замечания, пожелания или предложения, пишите, мы детально рассмотрим каждое Ваше сообщение – mailto: admin@kbyte.ru.

 

Содержание выпуска

Система ЭКСПЕРТ

    Вопрос #000352: Создание_ярлыка_для_ИСПОЛНЯЕМОГО_файла

    Вопрос #000347: PictureBoх

    Вопрос #000345: Проблема_с_SHAddRecentDoc

    Вопрос #000341: статистика посещений

    Вопрос #000338: Создание_ярлыка_через_WinAPI

Последнее на форумах

    На каком языке программирования Вы программируете?

    Выбор checkbox'а в IE

    ASP (Repeater and CheckBox)

    Компактирование базы Access в VB.NET

    Забивание данных в TreeView

Последние статьи

    Выбор языка программирования для научных работ (2-я редакция)

    Работаем с MIME

    Visual Basic 2003/2005 .NET: Взаимодействие с Microsoft Word 2000 и выше

    Visual Basic .NET: Работа с файлами

    ASP .NET 2.0: Эталонные страницы

Интересные коды и решения

Юмор на Kbyte.Ru

 

Система ЭКСПЕРТ

 

Система «Эксперт» - уникальная система, которая поможет решить, если не все, то многие Ваши проблемы с программированием и разработкой! Если у Вас есть какой-либо вопрос по программированию или разработке, то Вы всегда можете задать его нашим Экспертам! При этом каких-либо особых действий от Вас не потребуется! Просто отправьте Ваш вопрос на адрес mailto:expert@kbyte.ru, в теме письма укажите тему вопроса, в тексте – сам вопрос, и все! Эксперты дадут Вам ответ в течение 12-24 часов, на тот адрес, с которого Вы отправите вопрос. Все проще простого! Никакой регистрации и заполнение бесконечных форм, никаких наездов, оскорблений и насмешек со стороны гуру, просто спросите и получите ответ ;-)


Вопрос #000352: Создание_ярлыка_для_ИСПОЛНЯЕМОГО_файла

Автор вопроса: Mark Kunst // 13.07.2007 / 12:53

Здраствуйте ...

Я нашол код , создания ярлыка через WinAPI ..

Там используются функции :

SHAddToRecentDocs
SHGetSpecialFolderLocation
SHGetPathFromIDList

Все фунции работают , за исключением "SHAddToRecentDocs"

Как я понял , "SHAddToRecentDocs" - не работает с исполняемыми файлами ( не создает ярлыки на ".exe" , ".dll" , ".com" и т.п в папке "Недавние документы" )

Потскажите как сделать ярлык на ИСПОЛНЯЕМЫЙ файл ( exe , bat , com , dll ),
и можно ли это сделать через другие функции ? если да , то какие ?

Заранее спасибо ...

Отвечает: Алексей Немиро // 14.07.2007 / 07:16

Здравствуйте,

Любого файла:
001:
002:
003:
004:
005:
006:
Dim oShell, oShortCut, sDeskTopPath
Set oShell = CreateObject("Wscript.Shell")
sDeskTopPath = oShell.SpecialFolders("Desktop")
Set oShortCut = oShell.CreateShortcut(sDeskTopPath & "\Kbyte.Ru.lnk")
oShortCut.TargetPath = "http://kbyte.ru/" '"C:\windows\notepad.exe"
oShortCut.Save




--
С наилучшими пожеланиями,
Немиро Алексей

 

Вопрос #000347: PictureBoх

Автор вопроса: Сергей // 12.07.2007 / 20:31

Уважаемые Эксперты!

Прошу у Вас прощения, но как говорят: "Тут-то меня и понесло" - задавать
вопросы.

Возможно-ли применение при програмировании на VB6.0 в PictureBox, Image, PictureClip
и т.п. иозбражений "не признанных форматов" типа:
*.png, *.pdn, *.tiff и т.д

Если - да, то каким образом?
Заранее благодарен за ответ, Сергей

--------------------------------------
Категория: --- Visual Basic 5.0/6.0

Отвечает: Алексей Немиро // 13.07.2007 / 06:30

Здравствуйте,

Стандартными средствами это сделать не возможно. Используйте сторонние
библиотеки и компоненты. Например, http://www.chestysoft.com/ximage/default.asp:
- Add image functionality to your own applications.
- Support for BMP, GIF, JPG, PNG, PSD, PCX, TIFF and WBMP image formats. Can export to PDF.
- Import images from disk, binary data, clipboard, scanner or remote URL.
- Image manipulation functions include resize, scale, crop, rotate and flip.
- Image enhancement functions include brightness, contrast, sharpen, blur and greyscale.
- Create compound images and watermarks by merging images.
- Place text onto the image using any installed font with optional antialiasing. Support for Unicode characters.
- Perform simple image editing drawing lines and shapes with optional colour fills.
- Read and edit IPTC text (meta data) in JPEG and TIFF images.
- Read and edit Exif attributes from JPEG and TIFF files.
- Images can be exported to a remote server as an HTTP upload.
- Zoom and print functions and mouse events included.
- Royalty free distribution of the OCX file.

правда, он триальный.

--
С наилучшими пожеланиями,
Немиро Алексей

 

Вопрос #000345: Проблема_с_SHAddRecentDoc

Автор вопроса: Mark Kunst // 12.07.2007 / 18:03

Здраствуйте ...

У меня не роботает API функция "SHAddRecentDoc" , перепробовал все ...

Вот отрывок кода :

Private Declare Function SHAddToRecentDocs Lib "shell32.dll" Alias "SHAddToRecentDocs" (ByVal dwFlags As Long, ByVal dwData As String) As Long

Call SHAddToRecentDocs(2, "C:\WINDOWS\System32\logoff.exe")

Ошибки нет , но она ничего не делает , я пользовался справочниками , смотрел исходники , ни в одном коде она не работает ...

Подскажите , как ПРАВИЛЬНО ей пользоваться , покажите несколько примеров ...

Заранее спасибо!

Отвечает: Алексей Немиро // 13.07.2007 / 06:46

Здравствуйте,

Она работает, например так:
SHAddToRecentDocs 2, "C:\1.txt"
(ваш вариант тоже правильный)

проблема с exe-шками, а также с com-ами, и возможно еще какими-нибудь
форматами в Windows XP:

MSDN:
Note Microsoft® Windows® XP filters .exe files from the recently used documents list.
Although SHAddToRecentDocs will accept the path of a executable file under Windows XP, that file will not appear to the
My Recent Documents list.


--
С наилучшими пожеланиями,
Немиро Алексей

 

Вопрос #000341: статистика посещений

Автор вопроса: Коростелев А. // 11.07.2007 / 12:06

Помогите сделать статистику посещений в ASP.NET 1.x

Отвечает: Алексей Немиро // 11.07.2007 / 12:30

Здравствуйте,

Для организации подобного сервиса Вам нужно создать как минимум одну
БД, как минимум с тремя полями: id (счетчик бд), counter (куда будет
записываться количество посещений) и DateCreated (текущая дата). Хотя
можно даже и без базы обойтись (использовать, например файл), или количество полей сократить до
одного :) Это уже зависит от потребностей и возможностей ;)

Если пользователь зашел на сайт первый раз, то Вам надо просто записать ему какие-нибудь куки (Cookies), и при желании увеличить значение счетчика (в БД, или файле).
Далее, если пользователь зашел на сайт еще раз, то вам надо просто проверить наличие куков, если они есть у пользователя, то не изменять значение счетчика.
Собственно, проверку куков (Cookies) надо делать в самом начале, а уже потом либо увеличивать счетчик и записывать куки (Cookies) пользователю, либо ничего не делать.

Что касается куков (Cookies), то проверить можно так:

001:
002:
003:
004:
005:
006:
If Not Request.Cookies("Counter") Is Nothing Then
 If Not Request.Cookies("Counter")("Check") Is Nothing Then
  'юзер посещал сайт, поскольку найдены куки, тогда выходим
  Return
 End If
End If


Здесь, вместо Counter и Check может быть написано что угодно, например, вместо Check можно записать текущий url, тогда будет фиксироваться посещение определенной страницы сайта.

Записывать куки (Cookies) тоже не сложно:

001:
002:
003:
Response.Cookies("Counter")("Check") = "1"
'срок хранения куков – 1 день
Response.Cookies("Counter").Expires = DateAdd("d", 1, Now)



ЗЫ: Звиняюсь за странный код, нет под рукой .NET 1.x, но этот должен работать на 100% :)

--
С наилучшими пожеланиями,
Немиро Алексей

 

Вопрос #000338: Создание_ярлыка_через_WinAPI

Автор вопроса: Mark Kunst // 11.07.2007 / 06:00

Здраствуйте , уважаемые эксперты ...

У меня вопрос :
Как мне на "чистом" WinAPI создать где-нибудь ярлык ?
Я пробовал пользоваться fCreateShellLink ...
1) Этой DLL у меня нет ...
2) Я нехочу пользоваться Visual Basic Runtimes.

Если вы незнаете ответ на этот вопрос ( врятли вы не знаете ) , то подскаите какая функция отвечает за эту операцию ...

Отвечает: Алексей Немиро // 11.07.2007 / 06:15

Здравствуйте,

Действительно, откуда нам знать :)

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
Option Explicit

Private Declare Function api_SHAddToRecentDocs Lib "shell32.dll" Alias _
"SHAddToRecentDocs" (ByVal dwFlags As Long, ByVal dwData As String) As Long
Private Declare Function api_SHGetSpecialFolderLocation Lib "shell32.dll" Alias _
"SHGetSpecialFolderLocation" (ByVal hwndOwner As Long, _
ByVal nFolder As Long, pidl As Long) As Long
Private Declare Function api_SHGetPathFromIDList Lib "shell32.dll" Alias _
"SHGetPathFromIDList" (ByVal pidl As Long, ByVal sPath As String) As Long

Public Sub m_CreateShortcut(ScFolder As Variant, ScCaption As String, _
TargetPath As String, Optional ScParam As String, _
Optional StartFolder As String, Optional IcoNum As Integer, _
Optional IcoPath As String, Optional WindowMode As Integer)

'Константы для системных папок:
' 2 = Programs
' 7 = Startup
' 8 = RecentDocs
'16 = Desktop

'Полный путь к временному ярлыку, созданному в папке RecentDocs.
Dim Shortcut0 As String
Dim n0 As Integer 'текущая позиция считывания из файла Shortcut0.
Dim x0 As String * 1 'сюда считываются символы из файла Shortcut0.
Dim l0 As Long 'длина файла Shortcut0.
Dim Shortcut1 As String 'полный путь к создаваемому ярлыку.
Dim n1 As Integer 'позиция считывания в файле Shortcut1
Dim x1 As String * 1 'сюда считываются символы из файла Shortcut1.
Dim l1 As Long 'длина файла Shortcut1.

Dim T As Double
Dim p As Long
Dim i As Integer
Dim x As String
Dim y0 As String * 2

'проверяем параметр ScFolder - указывает целевую папку
If IsNumeric(ScFolder) Then
  ScFolder = p_GetSpecialFolder(CInt(ScFolder))
ElseIf Dir$(ScFolder, vbDirectory) = "" Then
  MsgBox "Указанная папка (" & ScFolder & ") не существует!", _
  vbCritical, "Создание ярлыка"
Exit Sub
End If

'создаем временный ярлык в папке RecentDocs, используя путь к целевой папке.
If api_SHAddToRecentDocs(2, TargetPath) > 0 Then

'определяем полный путь к созданному временному ярлыку.
Shortcut0 = p_GetSpecialFolder(8) & "\" & p_File_Folder(TargetPath) & ".lnk"

'Ждем окончания процесса создания ярлыка.
T = Now()
Do Until (Dir$(Shortcut0) <> "")
  If (Now() - T) > 0.00006 Then 'ждем 5 секунд
    If MsgBox("Создание ярлыка задерживается. Продолжить ожидание?", _
    vbQuestion + vbOKCancel, "Создание ярлыка") <> vbOK Then
      Exit Sub
    Else
      T = Now()
    End If
  End If
Loop

'Открываем созданный файл врменного ярлыка для чтения.
n0 = FreeFile()
Open Shortcut0 For Binary Access Read As #n0
'ждем, пока файл будет корректно открыт.
Do Until LOF(n0) > 0
Loop
l0 = LOF(n0)

'открываем файл целевого ярлыка для записи
Shortcut1 = ScFolder & "\" & ScCaption & ".lnk"
n1 = FreeFile()
Open Shortcut1 For Binary Access Write As #n1

'Ищем последний байт, который нужно считать
p = (l0 - 4)
y0 = ""
Do Until (p <= 0) Or (y0 = vbNullChar & vbNullChar)
  Get #n0, p, y0
  p = p - 1
Loop
l1 = p + 2

'Копируем байты
For p = 1 To l1

  Get #n0, p, x0

  Select Case p
    Case 21 'путь к иконке, параметрам и командной строке ярлыка
      i = 3
      If StartFolder <> "" Then
        i = i + 16
      End If
      If ScParam <> "" Then
        i = i + 32
      End If
      If (IcoPath <> "") Or (IcoNum > 0) Then
        i = i + 64
      End If
      x1 = Chr$(i)
    Case 57 'Индекс иконки
      x1 = Chr$(IcoNum)
    Case 61 'Оконный режим запуска
      x1 = Chr$(WindowMode)
    Case Else
      x1 = x0
  End Select

  Put #n1, p, x1

Next p

'Закрываем и удаляем файл временного ярлыка
Close #n0
Kill Shortcut0

'Добавляем иконку, параметры и командную строку в файл целевого ярлыка
x = ""
If StartFolder <> "" Then
  x = x & Chr$(Len(StartFolder)) & vbNullChar & StartFolder
End If
If ScParam <> "" Then
  x = x & Chr$(Len(ScParam)) & vbNullChar & ScParam
End If
If IcoPath = "" Then
  If IcoNum > 0 Then
    x = x & Chr$(Len(TargetPath)) & vbNullChar & TargetPath
  End If
Else
  x = x & Chr$(Len(IcoPath)) & vbNullChar & IcoPath
End If
x = x & String(4, vbNullChar)
Put #n1, l1 + 1, x

Close #n1

Else

  MsgBox "Ошибка создания ярлыка.", vbCritical, "Создание ярлыка"

End If

End Sub

Private Function p_GetSpecialFolder(CsIdl As Long) As String
'возвращаем полный путь к системной папке Windows.

Dim r As Long
Dim pidl As Long
Dim sPath As String

r = api_SHGetSpecialFolderLocation(Application.hWndAccessApp, CsIdl, pidl)

If r = 0 Then

sPath = Space$(260)
r = api_SHGetPathFromIDList(ByVal pidl, ByVal sPath)
If r Then
p_GetSpecialFolder = Left$(sPath, InStr(sPath, Chr$(0)) - 1)
End If

End If

End Function

Private Function p_File_Folder(FullPath As String) As String
'возвращает короткое имя файла FullPath.

Dim i As Integer

p_File_Folder = FullPath
i = Len(FullPath)
Do Until i = 0
  If Mid$(FullPath, i, 1) = "\" Then
    p_File_Folder = Mid$(FullPath, i + 1)
    i = 0
  Else
    i = i - 1
  End If
Loop

End Function




--
С наилучшими пожеланиями,
Немиро Алексей

 


Чтобы задать Ваш вопрос, отправьте его на адрес expert@kbyte.ru

Раздел Эксперт на сайте Kbyte.Ru

Наверх

 

 

Последнее на форумах

На каком языке программирования Вы программируете? | Автор: Алексей
Добавлено: 15.07.2007 / 06:38 | ответов: 14 | просмотров: 19

На каком языке программирования Вы программируете чаще всего и почему?

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:15.07.2007 / 06:41
и второй вопрос по веб:

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: EROS
Добавлено:15.07.2007 / 09:53
Попимо вышеозначенных языков ежедневно на работе приходится писать на Java,J# JScript

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Bille Gates
Добавлено:15.07.2007 / 13:11
На каком языке программирования Вы программируете?


Я ржал... Каламбур... :) Главное, Алексей, ты и сам этого не заметил :) (хотя не факт)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Алексей
Добавлено:15.07.2007 / 13:25
Главное, Алексей, ты и сам этого не заметил :)

я все вижу
и даже то, что ты не принял участие в опросе ;-)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Bille Gates
Добавлено:15.07.2007 / 14:12
я принимал участие... даже раньше чем написал про каламбур... видимо обновил страничку или ещё что-то, не засчиталось...

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 6 | Автор: Алексей
Добавлено:15.07.2007 / 14:24
я принимал участие... даже раньше чем написал про каламбур... видимо обновил страничку или ещё что-то, не засчиталось...

опиши порядок действий (и что ты видишь сейчас, активная кнопка "Голосовать"? и что было после нажатия на кнопку "Голосовать"), а то что-то не понятное творится.. причем только у тебя, больше никто не жаловался...

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 7 | Автор: Bille Gates
Добавлено:15.07.2007 / 14:32
вот сейчас даже, когда последний раз тут отвечал, жал голосовать, нефига не сработало опять...
проядок:
1-активна кнопка голосовать
2-выбираю вариант
3-жму голосовать, после этого вылазит ваш голос принят...
4-дописываю ответ, и жму добавить сообщение...

Лех, я кажется понял... :) У меня всплывающие окна заблокированны (бразузер Opera 9) щас эксперимент будет... на 1 проголосовал, и открыл всплывашку, а на втором нет... что получится...

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 8 | Автор: Bille Gates
Добавлено:15.07.2007 / 14:34
о... сработало... (лех, перенеси все на аякс, чтобы всплыв окон небыло... смысла в них не вижу... пусть буде как кнопка "быстрый переход" нажал, а аякс открыл её... :)
Я просто всплыв окна отрубил чтобы небыло рекламы всякой (в основном warez и порно)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 9 | Автор: Алексей
Добавлено:15.07.2007 / 15:16
перенеси все на аякс, чтобы всплыв окон небыло... смысла в них не вижу...

а я вижу, аджкса не будет в более ли мнее важных частях сайта.

пусть буде как кнопка "быстрый переход" нажал, а аякс открыл её...

это не ajax, это обычный dom :)

(в основном warez и порно)

нормальные сайты не поставят у себя порно-рекламу ;)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 10 | Автор: pasha
Добавлено:15.07.2007 / 15:36
Кстати, Алексей, как Вы вставляете у себя голосование прямо в топик? Я хочу устроить такое: Каким браузером вы пользуетесь (Maxthon фореве)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 11 | Автор: Bille Gates
Добавлено:15.07.2007 / 16:13
нормальные сайты не поставят у себя порно-рекламу ;)

ты сам им это скажи, реклама стиральной машины, шелкаешь, а там ссылка на dosug была :))) и половина ссылок когда чтото на яндексе ищешь, тоже ссылаются на какой-нить мусор... причем открывается сразу 2 странички... та которую искал(но редко) и на мусор всякий(тока траффик жрет)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 12 | Автор: Игорь Голов
Добавлено:15.07.2007 / 17:33
А я на Visual Basic . NET программирую! : ))

Почему на нём?
Просто от Visual Basic 6.0 не отошёл...

В смысле - начинал на нём, а бросать жалко....

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 13 | Автор: Алексей
Добавлено:16.07.2007 / 05:58
Кстати, Алексей, как Вы вставляете у себя голосование прямо в топик? Я хочу устроить такое: Каким браузером вы пользуетесь (Maxthon фореве)

прямо в топик могу только я :) Опрос можно устроить только в определенных форумах, например в оффтопе, и только при создании сообщения, т.е. в ответах опросы ставить нельзя (я исключение :) ..). При создании темы надо выбрать форум оффтоп, установить галку "Создать опрос" и заполнить форму опроса (вопрос и ответы, а также период опроса (при необходимости)). Для браузеров лучше создать новый топик, собственно для этого я и сделал ограничение, которое не позволяет добавлять опросы в ответы других топиков.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 14 | Автор: Алексей
Добавлено:16.07.2007 / 06:05
А я на Visual Basic . NET программирую! : ))


Да действительно, нас куда-то не туда унесло :)) Вернемся в тему.

Я чаще всего работаю с ASP .NET с использованием синтаксиса VB .NET, хотя в последнее время частенько работаю с C#, поскольку он дает больше возможностей для «извращений», нежели VB .NET :) Могу точно сказать, что VB сам по себе простой язык, но это не значит, что он плохой или имеет ограниченные возможности, вовсе нет, он прост для понимания и освоения, а возможности у него такие же, как в шарпе. Конечно, не на все 100% :), но все, что можно сделать на C#, можно сделать и на VB .NET, как ни как, крестный папа у них один - Framework .NET )))
Я редко работаю с php, хотя он тоже довольно не плох, но в крупных проектах php я никогда не буду использовать, поскольку с .NET меньше геморроя :) Если сравнить, например классический ASP и php, то на мой взгляд, php конечно же круче классического ASP, а вот до .NET php еще далековато, да и вряд ли он когда-нибудь дойдет до такого уровня, как .NET. Это всего лишь мое мнение ;) Кто хочет оспорить, попробуйте доказать, что я не прав ;-)
Приложения, Win-сервисы и прочие dll-ки я тоже иногда разрабатываю, в последнее время предпочитаю использовать для этого дела C#, хотя это уже зависит от того, что нужно написать. Иногда выгодней, с точки зрения экономии времени и/или ресурсов, написать что-то на VB .NET, или даже на VB 6.0, а может и на C++, последний использовал всего пару раз :)
Ну а Delphi я уже очень давно не использую, не вижу в этом смысла, хотя, как и у любого другого языка программирования, у Delphi тоже есть свои плюсы и минусы.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Выбор checkbox'а в IE | Автор: MrLink
Добавлено: 14.07.2007 / 00:29 | ответов: 3 | просмотров: 10

Есть программа на VB которая открывает страницу в IE на которой находятся checkbox'ы и поле где можно выбрать формат получаемых данных:

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
<tbody>
              <tr valign="top">
                <td align="center" width="5%"><input value="7856486" name="BillNumber" type="checkbox"></td>

                <td width="45%">5863259</td>
                <td width="50%">09.02.2005 - 30.03.2006<input value="09.02.2005 - 30.03.2006" name="BillNumberDates" type="hidden"></td></tr>
              <tr valign="top">
                <td align="center" width="5%"><input value="78536542" name="BillNumber" type="checkbox"></td>
                <td width="45%">98756256</td>
                <td width="50%">09.02.2005 - 30.03.2006<input value="09.02.2005 - 30.03.2006" name="BillNumberDates" type="hidden"></td></tr>
</tbody>
<td>Формат:</td>
<td><select name="Format"> <option value="PDF" selected="selected">PDF</option><option value="HTML">HTML</option></select></td></tr>
<td colspan="3" align="center"><input value="Зарегистрировать" type="submit"></td>


Нужно выбрать только первый checkbox, выбрать формат HTML и нажать на кнопку "Зарегистрировать". Помогите плизз. Заранее благодарен

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:14.07.2007 / 03:57
Попробуйте передать все эти параметры в строке адреса, http://url/страница?Format=HTML, может поможет, если нет, то придется "захватывать" IE и программно искать элементы на странице и нажимать на кнопки :), но тут же возникает вопрос, что вы подразумеваете под IE, сам браузер или контрол WebBrowser? Если браузер, то что вы будете делать с остальными (FF, Opera и т.п.)? Если браузер не нужен, то можно и программно по работать, через HttpWebRequest и HttpWebResponse. Но прежде чем что-то делать, рекомендую проанализировать трафик на странице выбора формата и на следующей странице, которая открывается после нажатия на кнопку.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: MrLink
Добавлено:15.07.2007 / 20:36
Под IE я подразумеваю сам браузер(программа открывает сам браузер IE и в нем выполняет некие действия(переход, авторизация))
Остальные браузеры не нужны, нужен только IE.
Это сервет который работает по протоколу https, адрес станицы это cgi скрипт, который получает и передает данные.
Как можно проанализировать трафик?

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алексей
Добавлено:16.07.2007 / 05:51
Как можно проанализировать трафик?

любым локальным проксиком, например этим. Но это необходимо только при использовании HttpWebRequest и HttpWebResponse, т.е. без участия IE.

Раз нужен только IE, то надо копать в сторону управления другими приложениями..
Как это делается через API и какие апишки использовать, можно посмотреть здесь (конкретно FindWindow, SendMessage), правда, там примеры только для VB 6.0, но их легко можно перенести на .NET.
Конкретно для .NET, можно посмотреть здесь и здесь, возможно поможет..

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


ASP (Repeater and CheckBox) | Автор: Bille Gates
Добавлено: 13.07.2007 / 22:47 | ответов: 16 | просмотров: 20

Помогите... умираю... не знаю который раз сталкиваюсь с проблемой, и ниразу не нашел решения... только обходные пути...
Задача:
сделать нечто вроде интернет магазина, а точнее только 1 страницу, с выбором товаров, т.е. есть список товаров, а рядом галки(всё это реализованно с помощью баз и repeater), мне нужно определять, какие галки нажаты в момент нажатия пользователем кнопки(допустим добавить в корзину)... Думаю я понятно объяснил... Общался с EROSом, он посоветовал использовать коллекции... но точно как это делать ни я ни он не поняли(по крайней мере я точно не понял) мне кажется это что-то вроде голосований на kbyte т.е. выбрал ответы, поставил галки, и всё засчиталось в базу данных... вот нечто такое и надо...
Всем спасибо за внимание! :)

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Igor
Добавлено:14.07.2007 / 00:50
Belle Gates, Круттто! Реальный вопрос! тоже интересно!

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Алексей
Добавлено:14.07.2007 / 03:30
Если конкретно то, что на kbyte.ru в голосованиях в разделе голосования и на форуме, то там (и тут) используется "голый" JavaScript :)
Если Repeater содержит CheckBox, пользователь нажимает на кнопку и страница перезагружается, то можно обработать чекбоксы на сервере, для этого можно (нужно) полистать коллекцию итемов у repeater и найти все чекбоксы через FindControl("имя контрола"), или полистать коллекцию контролов:

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
For Each c As Control In Repeter.Controls
 If c.ID.StartWiths("имена всех чекбоксов в рипеатере начинаются с того что здесь написано") Then
  'можно и тип проверить, но я обычно по идишнику проверяю, этого достаточно
  If CType(c, CheckBox).Checked Then
    Response.Write("Ты не поверешь, но CheckBox с именем " & c.ID & " выбран! И что мне теперь с ним делать??<br />")
  End If
 End If
Next

Colorized by: Eros.CodeSyntaxColor Engine


а вот как через финдконтрол:

001:
002:
003:
004:
005:
006:
007:
008:
For I As Integer = 0 To Repeater1.Items.Count - 1
 Dim c As Control = Repeater1.Items(0).FindControl("CheckBox" & i)
 If c IsNot Nothing Then
   'найдено, делаем все свои дела, так же как и в примере выше.
 End If
Next

Colorized by: Eros.CodeSyntaxColor Engine

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Bille Gates
Добавлено:14.07.2007 / 09:50
Попробовал оба способа... 1 ваабще не сработал... написал он следующее:
System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
Source="App_Web_-jq4cxt7"
StackTrace:
at _Default.Page_Load(Object sender, EventArgs e) in C:\Documents and Settings\...\Default.aspx.vb:line 20
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


Ошибка была на этой строке:
001:
002:
003:
If c.ID.StartsWith("CheckBox") Then

Colorized by: Eros.CodeSyntaxColor Engine


код самого чекбокса в репитере:
001:
002:
003:
004:
005:
006:
007:
<td>  
<asp:CheckBox ID='CheckBox' runat="server" Checked='<%#isch(eval("id"))%>' />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>


пробовал второй способ, он сработал, но он находит только 1 чекбокс... т.е. пишу следующее:
001:
002:
003:
004:
005:
006:
007:
008:
For I As Integer = 0 To Repeater1.Items.Count - 1
Dim c As Control = Repeater1.Items(0).FindControl("CheckBox")
If c IsNot Nothing Then
Response.Write(c.ID)
End If
Next

Colorized by: Eros.CodeSyntaxColor Engine


и он выдавал 2 id чекбоксов, но они были одинаковы "CheckBox"... ну я думал что так и надо, попробовал вставить код в tooltip чекбокса, чтобы проверить, не получилось, всего должно было быть 2 вырианта цифр в тултипе т.е. в первом чекбоксе цифра 1 а во втором 4, но он выдал цифру 1 два раза... вот я опять и в тупике :)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Bille Gates
Добавлено:14.07.2007 / 09:52
а с FindControl("CheckBox" & i) ваабще не сработал... эффект тотже что и без I если id просто "checkbox" а если id checkbox1 то "CheckBox" & i) работает только 1 раз :)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Алексей
Добавлено:14.07.2007 / 10:07
Ошибка была на этой строке:

на IsNothing тоже надо проверять, хотя чекбоксы только в итемах, та что вполне возможно, что так просто первый способ не сработает..

пробовал второй способ, он сработал, но он находит только 1 чекбокс... т.е. пишу следующее:

001:
002:
003:
004:
005:
006:
007:
008:
For i As Integer = 0 To Repeater1.Items.Count - 1
Dim c As Control = Repeater1.Items(0).FindControl("CheckBox")
If c IsNot Nothing Then
Response.Write(c.ID)
End If
Next

Colorized by: Eros.CodeSyntaxColor Engine

ну ясен core, он у тебя будет только один чекбокс показывать :) ты у него больше и не просишь ;)

и он выдавал 2 id чекбоксов, но они были одинаковы "CheckBox"...

имя будет точно таким же как в Repeater-е, т.е. если ты не сделаешь его динамическим, то будет CheckBox1 (которое указал сам).

Это скрытый текст, он доступен только:
- пользователю: Bille Gates;



Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 6 | Автор: Алексей
Добавлено:14.07.2007 / 10:09
хотя это моя опечатка :) но мне можно ))

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 7 | Автор: Bille Gates
Добавлено:14.07.2007 / 11:07
да, спасибо... разобрался, всё сработало! :)
+ Алексей, а как ты сделал "внимательней код рисуй ;)" (ты понял что я имею в виду...) напиши в личку

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 8 | Автор: Bille Gates
Добавлено:14.07.2007 / 14:28
For I As Integer = 0 To Repeater1.Items.Count - 1
Dim c As Control = Repeater1.Items(I).FindControl("CheckBox")
If c IsNot Nothing Then
Dim cc As CheckBox = c
If cc.Checked = True Then
dco.InsertOrder("1", cc.ToolTip)
Else
dco.DelOrder(cc.ToolTip)
End If
End If
Next

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

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 9 | Автор: Алексей
Добавлено:14.07.2007 / 14:39
код не работает...

не бывает такого :)
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
For i As Integer = 0 To Repeater1.Items.Count - 1
 Dim c As Control = Repeater1.Items(i).FindControl("CheckBox")
 If c IsNot Nothing Then
  Dim myCheckBox As CheckBox = CType(c, CheckBox)
  If myCheckBox.Checked Then
   dco.InsertOrder("1", myCheckBox.ToolTip)
  Else
   dco.DelOrder(myCheckBox.ToolTip)
  End If
 End If
Next

Colorized by: Eros.CodeSyntaxColor Engine

но не определяет что чекбокс отмечен галкой...

и такого не бывает :)
событие происходит в LinkButton

в каком линкабатоне, где он находится? Сам по себе, или в Repeater-е? У тебя явно проблемы с построением работы приложения. Если ты загружаешь данные в Repeater из БД, то видимо ты их грузишь и после постбака (Page.IsPostBack) и естественно данные в Repeater обновляется. Т.е. когда ты нажимаешь на кнопку (или еще что-нибудь), срабатывают все события Page, а затем уже обработчик нажатия кнопки. Если линкабатон лежит в Repeatere, то лучше привинти к нему (линкабатону) свойства CommandName и CommandArgument и обрабатывай в событие Repeater_ItemCommand (e.CommandName и e.CommandArgument сам решай, какие данные в них пихать).

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 10 | Автор: Алексей
Добавлено:14.07.2007 / 14:43
зы: уже +0,5% итого 3,5% ;-)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 11 | Автор: Bille Gates
Добавлено:14.07.2007 / 14:51
линк баттон не в репитере.... тогда как?

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Repeater1.DataSource = ASQL.GetTable("SELECT * FROM Price")
    Repeater1.DataBind()
  End Sub

  Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
    If IsPostBack Then
      Dim dco As New DimsCreateOrders
      For I As Integer = 0 To Repeater1.Items.Count - 1
        Dim c As Control = Repeater1.Items(I).FindControl("CheckBox")
        If c IsNot Nothing Then
          Dim cc As CheckBox = c
          If cc.Checked = True Then
            dco.InsertOrder("1", cc.ToolTip)
          Else
            dco.DelOrder(cc.ToolTip)
          End If
        End If
      Next
    End If
  End Sub

Colorized by: Eros.CodeSyntaxColor Engine

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 12 | Автор: Алексей
Добавлено:14.07.2007 / 15:00
001:
002:
003:
004:
005:
Protected Sub Page_Load _
(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Repeater1.DataSource = ASQL.GetTable("SELECT * FROM Price")
    Repeater1.DataBind()

End Sub


001:
002:
003:
004:
005:
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
  If IsPostBack Then
   Dim dco As New DimsCreateOrders

Colorized by: Eros.CodeSyntaxColor Engine

немного не туда ты его засунул. IsPostBack = True, когда страница "перезагружается" (например, на кнопку нажал юзер, или еще что-то сделал, что вызвало постбак). Следовательно, тебе надо грузить данные в Repeater, когда Not IsPostBack, и никак иначе ;)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 13 | Автор: EROS
Добавлено:14.07.2007 / 16:10
Общался с EROSом, он посоветовал использовать коллекции... но точно как это делать ни я ни он не поняли

Во-первых... никогда не стоит ссылаться на кого-то без разрешения такового..
Во-вторых, что значит ни я ни он ни поняли? Ты хочешь сказать, что я ни в состоянии определить какие из CheckBox'ов были нажаты??? Хм... То, что я не дал в асе тебе прямого ответа сделай то-то и то-то, не говорит о том, что я не знаю как это сделать..
В-третьих, я не обязан держать в голове устройство каждого контрола,.. принципы работы с любым из них - абсолютно одинаковы!

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 14 | Автор: Bille Gates
Добавлено:14.07.2007 / 16:15
всё, со всем разобрался...!!!! ура... спасибо большое....!!!!

Это скрытый текст, он доступен только:
- пользователю: Алексей;
- пользователю: Bille Gates;



Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 15 | Автор: Bille Gates
Добавлено:14.07.2007 / 16:23
Во-первых... никогда не стоит ссылаться на кого-то без разрешения такового..
Во-вторых, что значит ни я ни он ни поняли? Ты хочешь сказать, что я ни в состоянии определить какие из CheckBox'ов были нажаты??? Хм... То, что я не дал в асе тебе прямого ответа сделай то-то и то-то, не говорит о том, что я не знаю как это сделать..
В-третьих, я не обязан держать в голове устройство каждого контрола,.. принципы работы с любым из них - абсолютно одинаковы!

1-с этим согласен... тут я был не прав...
2-я не понял, а ты не объяснил, у меня сложилось впечатление что ты этого не знал, но у нас что, нельзя высказывать свое мнение и 2, я сразу сказал что "по крайней мере я не понял", а из этого следует что я не писал что ты неумеха, возможно ты просто не захотел отвечать...
3-тут ты прав... я тоже не держу...(хотя оч. сильно стараюсь)

PS если обидел(вот этим словом я мог тебя ещё больше обидеть, т.к. ты можешь сказать что ты не ребенок чтобы обижаться итп) или ещё что-то, то извини... в след. раз буду спрашивать разрешение(если конечно следующий раз будет)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 16 | Автор: Алексей
Добавлено:15.07.2007 / 04:55
Это скрытый текст, он доступен только:
- пользователю: Bille Gates;



Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Компактирование базы Access в VB.NET | Автор: Korkinet
Добавлено: 12.07.2007 / 19:16 | ответов: 1 | просмотров: 7

Собственно в этом и вопрос. Как мне это сделать, то что в DAO делалось с помощью функции CompactDatabase?

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: EROS
Добавлено:13.07.2007 / 09:53
Боюсь огорчить Вас, но никак... Я года 3 назад занимался этой проблемой, но удалось только выяснить то, что в NET нету подобных средств.. Единственный выход, это по прежнему использовать для этих целей DAO.. Как не прискорбно но прийдется ее с собой таскать.. Лично я предпочел отказаться (только по этой причине) от Access и перешел на SqlExpress

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Забивание данных в TreeView | Автор: pasha
Добавлено: 12.07.2007 / 12:28 | ответов: 3 | просмотров: 12

Проблема такая: При вызове функции IndexOf (nodName) значение не возваращяется (проверял точками останова)
tw = TreeView, в нём корни от "А" до "Я" (по алфавиту
код
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
Public Sub AddBook(ByVal name As String, ByVal author As String, ByVal publicYear As String, ByVal ISBN As String, ByVal Annotation As String)

    Dim nodName As New TreeNode(name, 1, 6)
    nodName.Tag = "Name: "
    Dim x As String
    Dim frm As New frmCreate
    x = frm.Symbol
    Dim y As Integer
    Dim fornod As New TreeNode
    Dim endnod As New TreeNode
    For Each x In tw.Nodes
      If fornod.Text = x Then
        endnod = fornod
        Exit For
      End If
    Next
    y = tw.Nodes.IndexOf(endnod)
    tw.Nodes(y).Nodes.Add(nodName)
    Dim bookindex As Integer = tw.Nodes(y).Nodes.IndexOf(nodName)
    Dim nodAuthor As New TreeNode(author, 2, 2)
    nodAuthor.Tag = "Author: "
    tw.Nodes(y).Nodes(bookindex).Nodes.Add(nodAuthor)
    Dim nodYear As New TreeNode(publicYear, 3, 3)
    nodYear.Tag = "PublicYear: "
    tw.Nodes(y).Nodes(bookindex).Nodes.Add(nodYear)
    tw.Nodes(y).Nodes(bookindex).Nodes.Add(ISBN)
    Dim nodAnn As New TreeNode(Annotation, 6, 6)
    tw.Nodes(y).Nodes(bookindex).Nodes.Add(nodAnn)
err:
    Msg()
'Msg -- это обычный MsgBox с ошибкой

  End Sub
'Функция "Symbol"
Public Function Symbol() As String
    If cbCpec.SelectedIndex = 0 Then
      Select Case cbGroup.SelectedIndex
        Case 0
          Return "А"
        Case 1
          Return "Б"
        Case 2
          Return "В"
        Case 3
          Return "Г"
        Case 4
          Return "Д"
        Case 5
          Return "Е-Ё-Ж"
        Case 6
          Return "З"
        Case 7
          Return "И"
        Case 8
          Return "К"
        Case 9
          Return "Л"
        Case 10
          Return "М"
        Case 11
          Return "Н"
        Case 12
          Return "О"
        Case 13
          Return "П"
        Case 14
          Return "Р"
        Case 15
          Return "C"
        Case 16
          Return "Т"
        Case 17
          Return "У-Я"
      End Select
    End If
  End Function

Colorized by: Eros.CodeSyntaxColor Engine

В ymbole eсё совпадает со свойствам Text орней дерава.
Спасибо

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Edlin
Добавлено:13.07.2007 / 09:31
Честно говоря, очень странный код. Не думал, что цикл в строке 11 будет работать. tw.Nodes возвращает коллекцию TreeNode, а не String, как объявлена переменная x. Ну да ладно, тебе виднее.

Суть проблемы в том, что ты пытаешься найти в коллекции TreeNode объекты, там не содержащиеся. Так в строках 9 и 10 ты создаешь 2 новых объекта TreeNode: fornod и endnod. Эти объекты не содержатся в коллекции tw.Nodes. Даже если в цикле и осуществляется присваивание endnod = fornod, это ничего не меняет. По завершению цикла endnod ссылается на объект, которого нет в tw.Nodes. Поэтому IndexOf и не возвращает позицию.

Я все сказал. Честь имею.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: pasha
Добавлено:13.07.2007 / 23:04
Пордон
x = treenode

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: pasha
Добавлено:13.07.2007 / 23:09
Что с головой..
For Each fornod In tw.Nodes
...
Next

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Наверх

 

Последние статьи

Выбор языка программирования для научных работ (2-я редакция)
Автор: Юдин С. Ю. | добавлено: 15.03.2007 / 02:49 | просмотров: 1559

Идея написания этой статьи возникла после того, как на одном из сайтов по физике http://physics.nad.ru/aniboard/messages/291.html я обнаружил интересный алгоритм моделирования движения тела в поле постоянной напряженности по различным направляющим. Вернее, меня заинтересовал не весь алгоритм, т.к. основа их всех одна (принцип Даламбера, если не считать квазиалгоритма с применением уравнений Лагранжа 2-го рода) и различаются они только способом определения реакций в месте соприкосновения тел. ...

Работаем с MIME
Автор: Немиро Алексей | добавлено: 29.11.2006 / 14:46 | просмотров: 1524

Не так давно мне пришлось немного поработать MIME (Multipurpose Internet Mail Extension) - это стандарт почтовых сообщений, в РуНете (Russian Internet) я не нашел нормального описания спецификации MIME, и посему решил написать небольшую статейку на эту тему. В данной статье вы узнаете об основных особенностях и стандартах MIME, а также научитесь «читать» MIME с использованием синтаксиса языка Visual Basic .NET 2005.

Visual Basic 2003/2005 .NET: Взаимодействие с Microsoft Word 2000 и выше
Автор: Хабибулин А. (aka Bille Gates) | добавлено: 05.10.2006 / 12:15 | просмотров: 2881

Эта статья будет полезна только тем людям, у которых установлен Microsoft Word 2000 или выше! Мы научимся делать всё возможное с документами MS WORD при помощи VB 2003/2005 .NET.

Visual Basic .NET: Работа с файлами
Автор: Хабибулин А. (aka Bille Gates) | добавлено: 04.10.2006 / 10:35 | просмотров: 3585

В этой статье мы поговорим о работе с файлами. Научимся добавлять и удалять файлы/каталоги, записывать и читать данные из файла и.т.д.

ASP .NET 2.0: Эталонные страницы
Автор: Немиро Алексей | добавлено: 27.08.2006 / 04:08 | просмотров: 2813

Как известно, большинство сайтов имеют однотипную, общепринятую разметку страниц, неотъемлемой частью которой является верхний и нижний колонтитулы и, пожалуй, самая главная часть - тело страницы, хотя конечно, бывают и исключения. ASP .NET 2.x предлагает уникальный метод создания одинаковой разметки для страниц сайта – это использование, так называемых, эталонных страниц. Если вы работали с ранними версиями ASP(ASP, ASP .NET 1.x), то, наверное, помните, что постоянно приходилось копировать H...

 

Статьи на Kbyte.Ru

Наверх

 

Интересные коды и решения

Получение многоразрядного числа2
Дата добавления: 31.07.2006 / 12:33 | просмотров: 345 | платформа: VB

Как изменить цвет строки в GridView при заполнении данными?
Дата добавления: 14.08.2006 / 14:25 | просмотров: 627 | платформа: ASP .NET (VB)

Поиск окна по заголовку
Дата добавления: 31.07.2006 / 12:52 | просмотров: 508 | платформа: VB

Как программно изменить заголовок (Title) страницы?
Дата добавления: 31.07.2006 / 13:25 | просмотров: 534 | платформа: ASP .NET (VB)

Как очистить корзину?
Дата добавления: 24.03.2007 / 11:35 | просмотров: 65 | платформа: VB .NET

Как программано выровнить форму по центру экрана?
Дата добавления: 23.08.2006 / 18:59 | просмотров: 603 | платформа: VB .NET

Как разрешить вводить в TextBox только цифры?
Дата добавления: 04.08.2006 / 16:55 | просмотров: 648 | платформа: ASP .NET (VB)

Как запретить пользователю перемещать форму?
Дата добавления: 31.07.2006 / 12:05 | просмотров: 342 | платформа: VB

Как прочитать текстовой файл?
Дата добавления: 01.08.2006 / 11:24 | просмотров: 593 | платформа: ASP

Поиск предложений
Дата добавления: 24.03.2007 / 11:06 | просмотров: 125 | платформа: RegEx

 

Универсальные коды на Kbyte.Ru

Наверх

 

Юмор на Kbyte.Ru

Три способа, которыми советские программисты достают программное обеспечение: воровство, грабеж, и обмен награбленным.

 

Рейтинг: 31
Всего голосов: 50
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Из жизни программистов:
- Предположим что у тебя есть 1000 рублей... Ну, для круглого счета возьмем 1024!

 

Рейтинг: 34
Всего голосов: 52
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Чем русский отличается от цыгана? Цыган никогда не хает тех, у кого он коня своровал...

 

Рейтинг: 329
Всего голосов: 454
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Разработали новый процессор на женской логике, обрабатывающий четыре логических значения: "Ни да, ни нет", "И да, и нет", "Три раза нет!" и "Нет, и не проси!!!"

 

Рейтинг: 31
Всего голосов: 52
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Соседская бабулька отмочила очередную кору.
Она обошла все хозяйственные магазины в районе и наезжала на продавцов с таким вопросом (цитирую дословно):
- "Мне нужны ИМПОРТНЫЕ ДЫРОЧКИ, В КОТОРЫЕ БОЛЬШИЕ ВЛЕЗАЮТ!"
- ??!!!!
Угадайте, что она имела в виду ? .... Вот и продавцы не угадали. Ей приносили все - от парафиновых свечек до дивидюков с крутой порнухой - но бабулька только топала ножками и орала исчо сильнее, типа "Идиоты, ни хрена не понимаете!!!"
Только дома, под перекрестным допросом выяснилось, ЧТО она подразумевала под столь странной фразой. Это оказалась (тут я упал пацтул) ЕВРОРОЗЕТКА (обычная, комнатная, на 220 вольт).
У нее от чайника вилка в обычную советскую розетку ессно не влезала. Но какова формулировка ! :-)))))))

 

Рейтинг: 554
Всего голосов: 789
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Учительница вносит в класс компьютер. Ставит на стол. Спрашивает у учеников:
- Дети, сколько на столе компьютеров?
- Оди-ин.
С трудом учительница вносит в класс второй компьютер.
- Дети, сколько на столе компьютеров?
- Два-а.
Выбиваясь из сил учительница втаскивает в класс третий компьютер.
- Дети, ну а теперь сколько на столе компьютеров?
- Три-и.
Вытирая пот со лба, учительница шепчет:
- А все ж, с яблоками было как-то легче!

 

Рейтинг: 28
Всего голосов: 54
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Звонит любовник любовнице:
- Давай встретимся.
- Давай.
- А где?
- Давай у меня дома.
- А муж?
- А его сейчас нет, он в интернете.

 

Рейтинг: 39
Всего голосов: 57
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Звонит один мужик своему интернет-провайдеру и говорит оператору:
- Алло, здраствуйте, у меня проблема! Я не могу зайти в интернет!
- А в чем, собственно говоря, дело?
- А у меня нет компьютера...

 

Рейтинг: 34
Всего голосов: 51
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Алгебра у программистов. Преподаватель пишет на доске: sin X = 1.
- Ну, кто может найти X?
Выбегает программист и так радостно:
- Вот, вот X, - показывает на X.

 

Рейтинг: 33
Всего голосов: 49
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Драйверы вашего сиди-ром привода находятся на прилагемом компакт диске ...

 

Рейтинг: 41
Всего голосов: 57
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Весь юмор на Kbyte.Ru

Наверх


Выпуск подготовил: R-KDR-19826

Редактор: Немиро Алексей

Copyright (c) Nemiro AS, 2005-2007


В избранное