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

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



Выпуск # 175


http://www.kbyte.ru/

 

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

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

 

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

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

    Вопрос #000419: Как динамически добавить на форму ComboBox-ы

    Вопрос #000408: Работа с текстовой базой данных.

    Вопрос #000406: VB-6_и__текстовоый_файл

    Вопрос #000401: Запись данных в последовательный и параллельный...

    Вопрос #000400: Работа с сокетами

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

    Context Menu Shell Extension / VB.NET

    Помогите с кастомизацией пейджера в GridView

    Опять нужна Ваша помощь...

    Помогите с Геймпадом

    VB6: 32-битные иконки в приложении

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

    Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)

    Работа с SQL – Запросы

    Использование XML.Serialization

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

    Работаем с MIME

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

Юмор на Kbyte.Ru

 

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

 

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


Вопрос #000419: Как динамически добавить на форму ComboBox-ы

Автор вопроса: "Abu Ali" // 18.08.2007 / 11:28

Здравствуйте, Эксперты!. Как в C# программно добавит в форму несколько ComboBox в зависимости от условия. Т.е. допустим если переменная х=4 то 4 ComboBoxа, если х=5 то 4 ComboBoxа С уважением, Абу Али

Отвечает: Алексей Немиро // 18.08.2007 / 11:34

Также, как и любой другой элемент:

001:
002:
003:
004:
005:
006:
007:
008:
int x = 4;
for (int i = 0; i <= x; i++)
{
 ComboBox myCombo = new ComboBox();
 myCombo.Name = "myCombo" + i.ToString();
 myCombo.Top = i * myCombo.Height + 2;
 this.Controls.Add(myCombo);
}

 

Вопрос #000408: Работа с текстовой базой данных.

Автор вопроса: Григорьев // 09.08.2007 / 10:58

Здравствуйте, Эксперты!

VB-6 не воспринимает строку
Dim [To] As String - выдаёт сообщение:

Ошибка компиляции:
Ошибка синтаксиса.

Видимо, скобки не помогли :)
Может, посоветуете, как это обойти?

С уважением,
Григорьев Николай.

Отвечает: Алексей Немиро // 09.08.2007 / 11:14

Может, посоветуете, как это обойти?

Можно, поменяйте имя переменной, вместо To, на что-нибудь другое:
Dim To1 As String

 

Вопрос #000406: VB-6_и__текстовоый_файл

Автор вопроса: Григорьев // 06.08.2007 / 11:35

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

Подскажите, пожалуйста, как в VB-6 организовать извлечение данных из текстового файла?
Например, задав ID =F9 и число 15,7 (лежит в диапазоне 14...18), нужно получить +0,059 и +0.016 для дальнейших расчётов.
Фрагмент текстового файла -во вложении.
Таких "Таблиц" много готовых, поэтому преобразовывать их в какой-либо другой формат нецелесообразно.

С уважением, Григорьев Николай.

Текстовой файл:
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:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
* Предельные отклонения отверстий по СТ СЭВ 144-88
* Для отверстий диаметром свыше "От" до диаметра "До"
** Не трогать колонки здесь и в других таблицах стандарта!
ID  От  До  ВО   НО
A9  3  6  +0.30  +0.27
A11  3  6  +0.345 +0.270
A13  3  6  +0.45  +0.27
B9  3  6  +0.17  +0.14
B11  3  6  +0.215 +0.140
B12  3  6  +0.26  +0.14
B13  3  6  +0.32  +0.14
C8  3  6  +0.088 +0.070
C9  3  6  +0.10  +0.07
C11  3  6  +0.145 +0.070
C12  3  6  +0.19  +0.07
C13  3  6  +0.25  +0.07
D6  3  6  +0.038 +0.030
D7  3  6  +0.042 +0.030
D8  3  6  +0.048 +0.030
D9  3  6  +0.06  +0.03
D10  3  6  +0.078 +0.030
D11  3  6  +0.105 +0.030
D12  3  6  +0.15  +0.03
E5  3  6  +0.025 +0.020
E6  3  6  +0.028 +0.020
E7  3  6  +0.032 +0.020
E8  3  6  +0.038 +0.020
E9  3  6  +0.05  +0.02
E10  3  6  +0.068 +0.020
F5  3  6  +0.015 +0.010
F6  3  6  +0.018 +0.010
F7  3  6  +0.022 +0.010
F8  3  6  +0.028 +0.010
F9  3  6  +0.04  +0.01
F10  3  6  +0.058 +0.010
G5  3  6  +0.009 +0.004
G6  3  6  +0.012 +0.004
G7  3  6  +0.016 +0.004
H4  3  6  +0.004
H5  3  6  +0.005
H6  3  6  +0.008
H7  3  6  +0.012
H8  3  6  +0.018
H9  3  6  +0.03
H10  3  6  +0.048
H11  3  6  +0.075
H12  3  6  +0.12
H13  3  6  +0.18
H14  3  6  +0.3
H15  3  6  +0.4
H16  3  6  +0.75
J6  3  6  +0.005 -0.003
J7  3  6  +0.006 -0.006
J8  3  6  +0.010 -0.008
Js4  3  6  +0.002 -0.002
Js5  3  6  +0.0025 -0.0025
Js6  3  6  +0.004 -0.004
Js7  3  6  +0.006 -0.006
Js8  3  6  +0.009 -0.009
Js9  3  6  +0.015 -0.015
Js10 3  6  +0.024 -0.024
Js11 3  6  +0.037 -0.037
Js12 3  6  +0.06  -0.06
Js13 3  6  +0.09  -0.09
Js14 3  6  +0.15  -0.15
K5  3  6      -0.005
K6  3  6  +0.002 -0.006
K7  3  6  +0.003 -0.009
K8  3  6  +0.005 -0.013
M5  3  6  -0.003 -0.008
M6  3  6  -0.001 -0.009
M7  3  6      -0.012
M8  3  6  +0.002 -0.016
N5  3  6  -0.007 -0.012
N6  3  6  -0.005 -0.013
N7  3  6  -0.004 -0.016
N8  3  6  -0.002 -0.020
N9  3  6      -0.03
N10  3  6      -0.048
P5  3  6  -0.011 -0.016
P6  3  6  -0.009 -0.017
P7  3  6  -0.008 -0.020
P8  3  6  -0.012 -0.030
P9  3  6  -0.012 -0.042
R6  3  6  -0.012 -0.020
R7  3  6  -0.011 -0.023
R8  3  6  -0.015 -0.033
S6  3  6  -0.016 -0.024
S7  3  6  -0.015 -0.027
T6  3  6
T7  3  6
U7  3  6  -0.019 -0.031
U8  3  6  -0.023 -0.041
Z8  3  6  -0.035 -0.053
A9  6  10  +0.316 +0.280
A11  6  10  +0.37  +0.28
A13  6  10  +0.50  +0.28
B9  6  10  +0.186 +0.150
B11  6  10  +0.24  +0.15
B12  6  10  +0.30  +0.15
B13  6  10  +0.37  +0.15
C8  6  10  +0.102 +0.080
C9  6  10  +0.116 +0.080
C11  6  10  +0.17  +0.08
C12  6  10  +0.23  +0.08
C13  6  10  +0.30  +0.08
D6  6  10  +0.049 +0.040
D7  6  10  +0.055 +0.040
D8  6  10  +0.062 +0.040
D9  6  10  +0.076 +0.040
D10  6  10  +0.098 +0.040
D11  6  10  +0.13  +0.04
D12  6  10  +0.19  +0.04
E5  6  10  +0.031 +0.025
E6  6  10  +0.034 +0.025
E7  6  10  +0.040 +0.025
E8  6  10  +0.047 +0.025
E9  6  10  +0.061 +0.025
E10  6  10  +0.083 +0.025
F5  6  10  +0.019 +0.013
F6  6  10  +0.022 +0.013
F7  6  10  +0.028 +0.013
F8  6  10  +0.035 +0.013
F9  6  10  +0.049 +0.013
F10  6  10  +0.071 +0.013
G5  6  10  +0.011 +0.005
G6  6  10  +0.014 +0.005
G7  6  10  +0.020 +0.005
H4  6  10  +0.004
H5  6  10  +0.006
H6  6  10  +0.009
H7  6  10  +0.015
H8  6  10  +0.022
H9  6  10  +0.036
H10  6  10  +0.058
H11  6  10  +0.09
H12  6  10  +0.15
H13  6  10  +0.22
H14  6  10  +0.36
H15  6  10  +0.58
H16  6  10  +0.9
J6  6  10  +0.005 -0.004
J7  6  10  +0.008 -0.007
J8  6  10  +0.012 -0.010
Js4  6  10  +0.002 -0.002
Js5  6  10  +0.003 -0.003
Js6  6  10  +0.0045 -0.0045
Js7  6  10  +0.007 -0.007
Js8  6  10  +0.011 -0.011
Js9  6  10  +0.018 -0.018
Js10 6  10  +0.029 -0.029
Js11 6  10  +0.045 -0.045
Js12 6  10  +0.075 -0.075
Js13 6  10  +0.11  -0.11
Js14 6  10  +0.18  -0.18
K5  6  10  +0.001 -0.005
K6  6  10  +0.002 -0.007
K7  6  10  +0.005 -0.010
K8  6  10  +0.006 -0.016
M5  6  10  -0.004 -0.010
M6  6  10  -0.003 -0.012
M7  6  10      -0.015
M8  6  10  +0.001 -0.021
N5  6  10  -0.008 -0.014
N6  6  10  -0.007 -0.016
N7  6  10  -0.004 -0.019
N8  6  10  -0.003 -0.025
N9  6  10      -0.036
N10  6  10      -0.058
P5  6  10  -0.013 -0.019
P6  6  10  -0.012 -0.021
P7  6  10  -0.009 -0.024
P8  6  10  -0.015 -0.037
P9  6  10  -0.015 -0.051
R6  6  10  -0.016 -0.025
R7  6  10  -0.013 -0.028
R8  6  10  -0.019 -0.041
S6  6  10  -0.020 -0.029
S7  6  10  -0.017 -0.032
T6  6  10
T7  6  10
U7  6  10  -0.022 -0.037
U8  6  10  -0.028 -0.050
Z8  6  10  -0.042 -0.064
A9  10  14  +0.333 +0.29
A11  10  14  +0.40  +0.29
A13  10  14  +0.56  +0.29
B9  10  14  +0.193 +0.150
B11  10  14  +0.26  +0.15
B12  10  14  +0.33  +0.15
B13  10  14  +0.42  +0.15
C8  10  14  +0.122 +0.095
C9  10  14  +0.138 +0.095
C11  10  14  +0.205 +0.095
C12  10  14  +0.275 +0.095
C13  10  14  +0.365 +0.095
D6  10  14  +0.061 +0.050
D7  10  14  +0.068 +0.050
D8  10  14  +0.077 +0.050
D9  10  14  +0.093 +0.050
D10  10  14  +0.12  +0.05
D11  10  14  +0.16  +0.05
D12  10  14  +0.23  +0.05
E5  10  14  +0.040 +0.032
E6  10  14  +0.043 +0.032
E7  10  14  +0.050 +0.032
E8  10  14  +0.059 +0.032
E9  10  14  +0.075 +0.032
E10  10  14  +0.102 +0.032
F5  10  14  +0.024 +0.016
F6  10  14  +0.027 +0.016
F7  10  14  +0.034 +0.016
F8  10  14  +0.043 +0.016
F9  10  14  +0.059 +0.016
F10  10  14  +0.086 +0.016
G5  10  14  +0.014 +0.006
G6  10  14  +0.017 +0.006
G7  10  14  +0.024 +0.006
H4  10  14  +0.005
H5  10  14  +0.008
H6  10  14  +0.011
H7  10  14  +0.018
H8  10  14  +0.027
H9  10  14  +0.043
H10  10  14  +0.07
H11  10  14  +0.11
H12  10  14  +0.18
H13  10  14  +0.27
H14  10  14  +0.43
H15  10  14  +0.7
H16  10  14  +1.1
J6  10  14  +0.006 -0.005
J7  10  14  +0.010 -0.008
J8  10  14  +0.015 -0.012
Js4  10  14  +0.0025 -0.0025
Js5  10  14  +0.004 -0.004
Js6  10  14  +0.0055 -0.0055
Js7  10  14  +0.009 -0.009
Js8  10  14  +0.013 -0.013
Js9  10  14  +0.021 -0.021
Js10 10  14  +0.035 -0.035
Js11 10  14  +0.055 -0.055
Js12 10  14  +0.09  -0.09
Js13 10  14  +0.135 -0.135
Js14 10  14  +0.215 -0.215
K5  10  14  +0.002 -0.006
K6  10  14  +0.002 -0.009
K7  10  14  +0.006 -0.012
K8  10  14  +0.008 -0.019
M5  10  14  -0.004 -0.012
M6  10  14  -0.004 -0.015
M7  10  14      -0.018
M8  10  14  +0.002 -0.025
N5  10  14  -0.009 -0.017
N6  10  14  -0.009 -0.020
N7  10  14  -0.005 -0.023
N8  10  14  -0.003 -0.030
N9  10  14      -0.043
N10  10  14      -0.07
P5  10  14  -0.015 -0.023
P6  10  14  -0.015 -0.026
P7  10  14  -0.011 -0.029
P8  10  14  -0.018 -0.045
P9  10  14  -0.018 -0.061
R6  10  14  -0.020 -0.031
R7  10  14  -0.016 -0.034
R8  10  14  -0.023 -0.050
S6  10  14  -0.025 -0.036
S7  10  14  -0.021 -0.039
T6  10  14
T7  10  14
U7  10  14  -0.026 -0.044
U8  10  14  -0.033 -0.060
Z8  10  14  -0.050 -0.077
A9  14  18  +0.333 +0.290
A11  14  18  +0.40  +0.29
A13  14  18  +0.56  +0.29
B9  14  18  +0.193 +0.150
B11  14  18  +0.26  +0.15
B12  14  18  +0.33  +0.15
B13  14  18  +0.42  +0.15
C8  14  18  +0.122 +0.095
C9  14  18  +0.138 +0.095
C11  14  18  +0.205 +0.095
C12  14  18  +0.275 +0.095
C13  14  18  +0.365 +0.095
D6  14  18  +0.061 +0.050
D7  14  18  +0.068 +0.050
D8  14  18  +0.077 +0.050
D9  14  18  +0.093 +0.050
D10  14  18  +0.12  +0.05
D11  14  18  +0.16  +0.05
D12  14  18  +0.23  +0.05
E5  14  18  +0.040 +0.032
E6  14  18  +0.043 +0.032
E7  14  18  +0.050 +0.032
E8  14  18  +0.059 +0.032
E9  14  18  +0.075 +0.032 
E10  14  18  +0.102 +0.032
F5  14  18  +0.024 +0.016
F6  14  18  +0.027 +0.016
F7  14  18  +0.034 +0.016
F8  14  18  +0.043 +0.016
F9  14  18  +0.059 +0.016  Пример из этой строки: ID =F9 и число 15,7 (лежит в диапазоне 14...18)
F10  14  18  +0.086 +0.016              надо получить: ВО= +0.059   НО= +0.016
G5  14  18  +0.014 +0.006
G6  14  18  +0.017 +0.006
G7  14  18  +0.024 +0.006
H4  14  18  +0.005
H5  14  18  +0.008
H6  14  18  +0.011
H7  14  18  +0.018
H8  14  18  +0.027
H9  14  18  +0.043
H10  14  18  +0.07
H11  14  18  +0.11
H12  14  18  +0.18
H13  14  18  +0.27
H14  14  18  +0.43
H15  14  18  +0.7
H16  14  18  +1.1
J6  14  18  +0.006 -0.005
J7  14  18  +0.010 -0.008
J8  14  18  +0.015 -0.012
Js4  14  18  +0.0025 -0.0025
Js5  14  18  +0.004 -0.004
Js6  14  18  +0.0055 -0.0055
Js7  14  18  +0.009 -0.009
Js8  14  18  +0.013 -0.013
Js9  14  18  +0.021 -0.021
Js10 14  18  +0.035 -0.035
Js11 14  18  +0.055 -0.055
Js12 14  18  +0.09  -0.09
Js13 14  18  +0.135 -0.135
Js14 14  18  +0.215 -0.215
K5  14  18  +0.002 -0.006
K6  14  18  +0.002 -0.009
K7  14  18  +0.006 -0.012
K8  14  18  +0.008 -0.019
M5  14  18  -0.004 -0.012
M6  14  18  -0.004 -0.015
M7  14  18      -0.018
M8  14  18  +0.002 -0.025
N5  14  18  -0.009 -0.017
N6  14  18  -0.009 -0.020
N7  14  18  -0.005 -0.023
N8  14  18  -0.003 -0.030
N9  14  18      -0.043
N10  14  18      -0.07
P5  14  18  -0.015 -0.023
P6  14  18  -0.015 -0.026
P7  14  18  -0.011 -0.029
P8  14  18  -0.018 -0.045
P9  14  18  -0.018 -0.061
R6  14  18  -0.020 -0.031
R7  14  18  -0.016 -0.034
R8  14  18  -0.023 -0.050
S6  14  18  -0.025 -0.036
S7  14  18  -0.021 -0.039
T6  14  18
T7  14  18
U7  14  18  -0.026 -0.044
U8  14  18  -0.033 -0.060
Z8  14  18  -0.060 -0.087

Отвечает: Алексей Немиро // 06.08.2007 / 11:53

Здравствуйте, Николай!

Ваш текстовой файл имеет определенную структуру, Вы можете
прочитать файл построчно, занося в переменные параметры, которые
находятся в файле, например:

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:
Dim sReadLine As String
'открываем файл для чтения
Open "C:\Данные.txt" For Input As #1
'считываем файл и выводим построчно _
пока EOF равен False
Do Until EOF(1)
 'читаем строку
 Line Input #1, sReadLine
 'если это не комментарий
 If Not Left(Trim(sReadLine), 1) = "*" Then
  'это не комментарий, значит это данные
  Dim ID As String
  Dim From As String
  Dim [To] As String 'в скобках, поскольку To является ключевым словом Visual Basic
  Dim BO As String
  Dim HO As String
  ID = Trim(Mid(sReadLine, 1, 6)) 'первые 6 символов в строке
  'функция Trim удаляет все пробелы по бокам
  If UCase(ID) = "F9" Then 'вместо "F9" надо поставить переменную, которая будет содержать искомое значение
   'нашли идишник, который нам нужен, получаем остальные данные
   From = Trim(Mid(sReadLine, 7, 5))
   'далее, поскольку это число, можем его преобразовать в число
   Dim dFrom As Double
   If IsNumeric(From) Then dFrom = CDbl(From)
   'остальные параметры
   [To] = Trim(Mid(sReadLine, 12, 5))
   '.. делаем тоже самое что и с From
   '..
   '...
   'и т.д. и т.п
   Exit Do 'выходим из цикла, т.к. все что нужно мы уже нашли
  End If
 End If
Loop
Close #1 'закрываем файл


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

 

Вопрос #000401: Запись данных в последовательный и параллельный...

Автор вопроса: // 03.08.2007 / 13:35

Как записать двоичные данные в COM и LPT порт из C# ? Приведите,пожалуйста,примеры.
Спасибо!
__________

Отвечает: EROS // 04.08.2007 / 09:37

Здравствуйте.
В NET для работы с портами предусмотрен класс
System.IO.Ports.SerialPort.
Для записи данных в порт используйте один из перегруженных методов
Write или WriteLine
--
С уважением,
EROS

 

Вопрос #000400: Работа с сокетами

Автор вопроса: Николай // 03.08.2007 / 12:55

Система программирования: Visual Basic.NET 2005.
Пишу диплом(приложение типа клиент-сервер) и сталкнулся со следующей проблемой. В VB6 есть Winsock с которым очень лего работать по сети, а в VB.NET такого нету, там испоьзуются сокеты. Прочитал справку в MSDN, полазил по форумам различным, лишь тока кашу создал у себя в голове. Не могу понять как работать с сокетами. Если можете помогите пожалуйста. Или дайте пример программы клиент-сервер, простейший чат какойнибудь.
Да чуть незабыл :) надо все делать на TCP\IP, т.к. через программу будут проходить файлы, а через UDP их опасно высылать.
Заранее спасибо!

--------------------------------------
Категория: --- Visual Basic .NET

Отвечает: EROS // 04.08.2007 / 08:59

Здравствуйте, Николай.
В VS2005 с сокетами в чистом виде никто не работает (если только для
решения каких то специфичных задач). Для этого используют его
наследников.. в вашем случае это будет TcpClient. Для организации
клиент-севрверного приложения вам понядобятся 2 класса:
TcpClient и
TcpListener.


--
С уважением,
EROS mailto:eros@fromru.com

 


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

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

Наверх

 

 

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

Context Menu Shell Extension / VB.NET | Автор: 5acred Phoenix
Добавлено: 21.08.2007 / 21:19 | ответов: 1 | просмотров: 16

Доброе время суток!

Нашёл статью о том, как писать Shell Extensions под managed-кодом: http://www.theserverside.net/tt/articles/showarticle.tss?id=ShellExtensions.

На основе этой статьи (ну и прилагаемых к ней сурсов, естественно) на свет был рождён вариант extension'а на VB.NET. Всё бы ничего, да только функция QueryContextMenu(), ответственная за изменение одноимённого меню у файлов, системой вызывается 3 раза вместо одного. А саб InvokeCommand(), который по идее должен реагировать на клики по добавленным пунктам, не работает вообще. Кстати говоря, вариант на C# работает на ура. Различий в обоих вариантах вроде как не вижу...

Посмотрите, пожалуйста, что не так. Мои сурсы можно скачать здесь: http://sacredphoenix.nm.ru/MyShellExt.rar. Единственное, в них замените в объявлении структуры MENUITEMINFO атрибут около dwTypeData на <MarshalAs(UnmanagedType.LPWStr)>. Как включить extension я в двух словах описал в Readme.txt, но проблем здесь возникнуть не должно.

ЗЫ. Можно ли заданный мною вопрос в систему «Эксперт» удалить? Ибо описанная там проблема уже решена :)

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


Ответ # 1 | Автор: 5acred Phoenix
Добавлено:21.08.2007 / 22:51
Дык эта хрень ещё и вызывает IShellExtInit::Initialize() 3 раза :(
Это помимо того, что IContextMenu::GetCommandString() и IContextMenu::InvokeCommand() не вызываются вообще..

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


Помогите с кастомизацией пейджера в GridView | Автор: Юрий.Н
Добавлено: 21.08.2007 / 14:26 | ответов: 1 | просмотров: 17

GridView с включенным пейджером генерирует HTML код:

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
<table>
<!-- Data rows START -->
<tr>
  <td>...</td>
  ... ... ... ... ...
</tr>
<!-- Data rows END -->

<!-- Pager row -->
<tr>
  <td colspan=...>...</td>
</tr>
</table>


Таким образом, строка пейджера надежно "привязана" к таблице.
Мне же ПО ТРЕБОВАНИЯМ дизайна НЕОБХОДИМО зафиксировать пейджер в определенном месте страницы.
Вполне подходит такой HTML-результирующий код:

001:
002:
003:
004:
005:
006:
007:
008:
<div id=... class=...>
<table>
  <!-- Data rows -->
</table>
</div>
<div id=... class=...>
  <!-- Pager -->
</div>


Попытки найти решение в интернете не увенчались успехом.
Кто-то может помочь?

Спасибо.

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


Ответ # 1 | Автор: Алексей
Добавлено:21.08.2007 / 14:36
Создайте собственный пейджер, обычно так все и делают, либо можете поискать уже готовый на http://asp.net

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

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


Опять нужна Ваша помощь... | Автор: Игорь Голов
Добавлено: 20.08.2007 / 23:19 | ответов: 3 | просмотров: 40

Никак не могу сообразить:
Делаю сэмпл файлового менеджера для внедрения в проект...

Не доходит до меня, что с Tag'ом делать, чтобыиз папки наверх выходить... :(
Корябал, корябал....

(Все работы ведутся в левом окне пока... (процедура ListView1_MouseDoubleClick))

Ещё хотел, чтобы файлы запускались.... :(

В общем, проект внизу, в аттаче...

Будут вопросы - отвечу с удовольствием!

Спасибо!

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


Ответ # 1 | Автор: Игорь Голов
Добавлено:20.08.2007 / 23:23
Обещаный аттач...

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


Ответ # 2 | Автор: Алексей
Добавлено:21.08.2007 / 03:06
Прикольно :) Только медленно генерируется список папок и файлов..
В Tag надо писать путь к предыдущей папке, у тебя ведь так и делается,
правда иногда его переглючивает :) Лучше будет, наверное, сразу перед
переходом в другую папку запоминать имя текущего каталога в
какую-нибудь переменную. Да и вообще проще будет писать в tag полные пути ко
всем папкам, и обрабатывать только Tag, а Text чисто для
визуализации использовать..

Файлы запускай через Process.Start(полный путь и имя файла)

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

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


Ответ # 3 | Автор: Edlin
Добавлено:21.08.2007 / 09:36
Предлагаю следующее решение:
В свойстве Tag всех объектов ListViewItem ты хранишь полный путь к объекту файловой системы (файлу или папке)
В свойстве Tag объектов ListView ты хранишь полный путь к текущей родительской папке (т.е. к той папке, содержимое которой сейчас отображается в ListView).
В этом случае переход в подпапку выглядит следующим образом:

1) Извлекаешь из ListViewItem.Tag полный путь к этой подпапке.
2) Записываешь его в ListView.Tag.
3) На основе этого пути создаешь объект DirectoryInfo.
4) У этого объекта есть методы перечисления всех папок и файлов. Используешь их для заполнения ListView.

Переход в родительскую папку (на уровень выше) выглядит так:

1) Извлекаешь полный путь к родительской папке из ListView.Tag.
2) На его основе создаешь объект DirectoryInfo.
3) У него есть свойство Parent, позволяющее получить DirectoryInfo родительской папки.
4) Путь к ней записываешь в ListView.Tag и заполняешь список папок и файлов.

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

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


Помогите с Геймпадом | Автор: Alex-Man
Добавлено: 20.08.2007 / 00:40 | ответов: 2 | просмотров: 35

Помогите пожалуйста с Геймпадом...

Мне надо считать с геймпада положение рычагов и состояния кнопок для использования даных в алгоритмах ...
Геймпад USB(+PS2) , в принцыпе наверное считываются даные со всех одинаково(независимо от типа, и фирмы) ...

Пожалуйста помогите с кодами , писать хочу на VB 6.0

alex_man@trion.mk.ua

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


Ответ # 1 | Автор: Алексей
Добавлено:20.08.2007 / 05:18
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:
Private Declare Function joyGetPosEx Lib "winmm.dll" (ByVal uJoyID As Long, pji As JOYINFOEX) As Long

Private Type JOYINFOEX
 Size As Long
 Flags As Long
 X As Long
 Y As Long
 Z As Long
 R As Long
 U As Long
 V As Long
 Buttons As Long
 ButtonNumber As Long
 POV As Long
End Type

Private Function IsJoyPresent(Optional IsConnected As Variant) As Long
 Dim ic As Boolean
 Dim i As Long
 Dim j As Long
 Dim ret As Long
 Dim JI As JOYINFOEX
 JI.Size = Len(JI): JI.FLAGS = JOY_RETURNX
 ic = IIf(IsMissing(IsConnected), True, CBool(IsConnected))
 i = joyGetNumDevs
 If ic Then
  j = 0
  Do While i > 0
    i = i - 1
   If joyGetPosEx(i, JI) = JOYERR_NOERROR Then
    j = j + 1
   End If
  Loop
  IsJoyPresent = j
 Else
  IsJoyPresent = i
 End If
End Function

Colorized by: Eros.CodeSyntaxColor Engine

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


Ответ # 2 | Автор: Alex-Man
Добавлено:20.08.2007 / 19:31
Пожалуйста напиши пояснения к каждой строчке ... ну Чайник я ещё в програмировании ... мне так тяжело .. я так пару програмок сделал .. тут теперь голову ломаю ...
У меня одно окно , и в зависимости от положений геймпада(кнопки и рычаги) там должны менятся даные , напиши где какие переменные , и куда это потом закинуть :)
Если можно дай ещё пару советов ПОЖАЛУЙСТА

Зарание спасибо!!!
УДАЧИ!!

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


VB6: 32-битные иконки в приложении | Автор: Arcady
Добавлено: 16.08.2007 / 21:13 | ответов: 2 | просмотров: 52

Всем привет! У меня такой вопрос: как можно назначить стандартному PictureBox (в крайнем случае созданному Static) 32-битную иконку ?

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


Ответ # 1 | Автор: Алексей
Добавлено:20.08.2007 / 05:28
см. аттач

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


Ответ # 2 | Автор: Arcady
Добавлено:21.08.2007 / 00:08
Большое Вам спасибо!

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


Наверх

 

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

Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)
Автор: Немиро Алексей | добавлено: 27.07.2007 / 14:01 | просмотров: 478

В данной статье речь пойдет о том, как можно программно заполнить и отправить Web-форму, а также получить результат с использованием довольно простых классов - HttpWebRequest и HttpWebResponse.

Работа с SQL – Запросы
Автор: Хабибулин А. (aka Bille Gates) | добавлено: 22.07.2007 / 04:43 | просмотров: 812

В данной статье рассмотрены часто используемые SQL-запросы и приведены примеры их использования.

Использование XML.Serialization
Автор: Немиро Алексей | добавлено: 19.07.2007 / 15:38 | просмотров: 214

В данном обзоре речь пойдет об использование XML.Serialization в .NET и ее применении на примере сохранения и считывания настроек программы с использованием синтаксиса языка Visual Basic .NET.

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

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

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

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

 

Статьи на Kbyte.Ru

Наверх

 

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

Проверка существования директории
Дата добавления: 31.07.2006 / 12:41 | просмотров: 1262 | платформа: VB

Как динамически добавить элемент управления?
Дата добавления: 17.08.2006 / 17:02 | просмотров: 664 | платформа: ASP .NET (VB)

Как преобразовать байты в килобайты?
Дата добавления: 31.07.2006 / 12:38 | просмотров: 576 | платформа: VB

Как изменить размер панели SplitContainer?
Дата добавления: 23.08.2006 / 19:07 | просмотров: 670 | платформа: VB .NET

Как ограничить передвижение мыши?
Дата добавления: 16.08.2006 / 19:46 | просмотров: 480 | платформа: VB

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

Рисование на PictureBox и/или Form?
Дата добавления: 24.03.2007 / 09:58 | просмотров: 268 | платформа: VB .NET

Как динамически добавить HTML-элемент управления?
Дата добавления: 17.08.2006 / 17:49 | просмотров: 617 | платформа: ASP .NET (VB)

Пример добавления окончания к числу (англ.)
Дата добавления: 24.03.2007 / 12:33 | просмотров: 366 | платформа: VB .NET

Класс доступа к данным SQL Server
Дата добавления: 24.03.2007 / 11:48 | просмотров: 288 | платформа: VB .NET

 

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

Наверх

 

Юмор на Kbyte.Ru

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

 

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

 

Беседуют два программиста.
- Чем программист отличается от обычного смертного?
- А тем, что в состоянии ответить на вопрос, в котором уже заключен ответ.
- Это как же?
- Ну, например, ответь на вопрос: сколько будет 2х2=4?
- Естественно TRUE!

 

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

 

Дед у меня из деревни, он и рассказывал. Было это годов так ...цать назад.
Заведующая хозяйством (а точнее птичьим двором) колхоза N была женщина, которая очень любила выпить. Но в колхозе платят мало, а выпить всегда хочется. Поэтому она приспособилась продавать местному населению, естественно втихаря, уток и гусей с птичьего двора, которым сама же и заведовала. Когда приходило время проверки поголовья птицы, в объяснительных бумагах, насчет уменьшения поголовья, она писала, что, дескать, утки и гуси тонут.
И что характерно – ей верили...

P.S. Утки и гуси относятся к водоплавающим птицам. И утонуть им не дано...

 

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

 

Разговаривают два активных пользователя Интернета:
- Ну, как дела?
- Да как тебе сказать... Все нормально вроде, вот только пальцы болят...
- А с чего это вдруг?
- Да вчера с друзьями в чате встретился, так всю ночь песни орали...

 

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

 

Вовочка приходит домой.
В: мама, знаешь сегодня что в школе случилось?
-нет.
В: училка несла в класс клей, упала и приклеилась.
- ну и что? Вы ее отодрали?
В: да, а тот, кто смелый, тот и по-два раза...

 

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

 

Летят в самолете програмист и инженер. Инженер собрался поспать. Тут програмер к нему с предложением.
(П): - Давай играть в загадки. Ответишь - я тебе 5 баксов, нет - ты мне 5 баксов и наоборот.
(И): - Да я спать хочу, отстань...
(П): - Ну, давай! простая игрушка-то!
(И): - Да не хочу я играть. Я спать вот собрался...
(П): - Ну, ладно. Давай так. Я угадываю - ты мне 5 баксов, ты угадываешь - я тебе 50 баксов. Пойдет?
(И): - Ладно, давай.
(П): - Сколько абонентов ICQ в мире на сегодняшний день?
Инженер молча достает бумажник, вынимает 5 баксов, отдает програмеру.
(П): - Теперь ты спрашивай!
Инженер задумался на пару минут, потом говорит:
- Ладно, что на трех ногах встает, а на четырех опускается?
Програмер распахнул ноутбук, подключился к сетке, обшарил все поисковики на свете, залез в чаты, опросил всех знакомых, пошарился по всем библиотекам и архивам мира, ничего не нашел. Достает 50 "зеленых",отдает инженеру. Инженер достает бумажник, кладет полтинник в него, закрывает бумажник, убирает его в карман и начинает устраиваться для сна.
(П): - Эй, а что это такое, что на трех ногах встает, на четыре опускается?
Инженер молча лезет в карман, достает бумажник, вынимает 5 баксов, отдает програмисту, закрывает бумажник,убирает и ложится спать.

 

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

 

- Дорогой, а помнишь, что ты мне обещал до свадьбы?
- Милая, так мы на свадьбе так напились, что честное слово - забыл!

 

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

 

- Дети, а почему вы плачете? Посмотрите, какой вкусный тортик я вам принес!
- Дедушка Мороз, а в этой палате у нас диабетики.

 

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

 

Земля
2050 год
Генетический программер разбирает очерендной кусок генной последовательности и видит следующий комментарий:
/* A eti geny nado by ubrat nahren. Archangel Gavriil */

 

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

 

Открыт новый поисковый сервер для новых русских: www.tipa.au

 

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

 

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

Наверх


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

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

Copyright (c) Nemiro AS, 2005-2007


В избранное