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

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



Выпуск # 171


http://www.kbyte.ru/

 

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

Доброе время суток!
Меня зовут R-KDR-19826, представляю Вам очередной выпуск рассылки Kbyte.Ru!

 

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

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

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

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

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

    Вопрос #000389: Программный перевод компьютера в спящий режим

    Вопрос #000383: Локализация приложения

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

    Программа "Виснит" но работает..

    Появилась идея разработки ПО :)

    Asc

    Вопрос по Авторизации

    Вопрос по IIS...

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

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

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

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

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

    Работаем с MIME

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

Юмор на Kbyte.Ru

 

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

 

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


Вопрос #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

 

Вопрос #000389: Программный перевод компьютера в спящий режим

Автор вопроса: Игорь Голов // 23.07.2007 / 02:15

Доброго времени суток!
Возникла проблема - необходимо переводить компьютер в спящий режим из разрабатываемой программы.

Как это сделать?

Платформа: Microsoft Visual Basic 2005.

Спасибо!

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

Отвечает: EROS // 23.07.2007 / 09:38

Application.SetSuspendState Method
Suspends or hibernates the system, or requests that the system be
suspended or hibernated.
 
Подробности тут
 
С Уважением, EROS 

 

Вопрос #000383: Локализация приложения

Автор вопроса: weltkind // 21.07.2007 / 06:23

День добрый! В очередной раз обращаюсь к вам за помощью!!
Решил я перевести свою программку на другой язык (немецкий) решил
реаализовать это таким образом
в свойствах формы пункт Localizable выставить значение True
и всем обектам в пункте Text ввести соответствующие надписи на др языке
задать предварительно в свойствах формы в пункте Language выствить
необходимый мне язык но тут возникла проблема как реализовать
переключение языка непосредственно при выполнении так как в среде
разработке при изменении пункта Language с default на Dutch все надписи на
форме меняються а вот при выполненни незнаю как сделать
добавил сл код непомог:
System.Threading.Thread.CurrentThread.CurrentUICulture = New
System.Globalization.CultureInfo(тут вписывал код языка (1049)(1033) и
т.д.)
Помогите Плиз !!
Если вы знаете как можно по другому реализовать многоязычность сообщите...
Зарание Вам блгадарен!!

Отвечает: EROS // 21.07.2007 / 21:26

Здравствуйте, weltkind!
Ваш код, в принципе, верный. Но вы должны понимать как ЭТО работает.
Дело в том, что локализованные надписи на кнопках, надписях и т.д. загружаются в
процедуре InitializeComponent.. Отсюда можно сделать вывод, что если Вы
установите локаль ДО инициализации компонентов (например в
конструкторе формы Sub New), то у Вас все заработает...
Если же вы хотите менять надписи в режиме Run-Time, то это делается
примерно так...

'// EROS (VB 2005,ChangeUICulture Example)
'//
'// Устанавливаем нужную локаль
My.Application.ChangeUICulture("en-US") '// Англ. локаль
'// Получаем менеджера русурсов для этой локали
Dim resources As ComponentResourceManager = New ComponentResourceManager(Me.GetType)
'// Перебираем все контролы на форме и меняем надписи
For Each item As Control In Controls
resources.ApplyResources(item, item.Name)
Next
'// Это на тот случай если текст заголовка тоже локализованный
resources.ApplyResources(Me, "$this")
'// Наслаждаемся результатом

--
С уважением,
EROS

 


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

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

Наверх

 

 

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

Программа "Виснит" но работает.. | Автор: ZXC
Добавлено: 07.08.2007 / 12:29 | ответов: 2 | просмотров: 27

Вот такое название темы :) собственно так и есть, программа выполняет работу с текстовыми файлами, очень большими, и после запуска она "виснит" т.е на её заголовке появляется "Не отвечает" но на самом деле всё работает надо просто ждать, так вот, я видел много аналогичных программ но там спокойно работает прогресс бар, спокойно можно двигать форму, и даже нажать на кнопку Отмена, как они так делают? ведь везде цикл почти одинаковый и файлы одинаково большого размера, мож есть какие нибуть хитрости чтобы программа спокойно обрабатывала файлы а не висла??? Вот собственно и всё, много написал надеюсь понятно объяснил вопрос :)

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


Ответ # 1 | Автор: Алексей
Добавлено:07.08.2007 / 12:41
В цикл поставь:

System.Windows.Forms.Application.DoEvents()



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

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


Ответ # 2 | Автор: Игорь Голов
Добавлено:07.08.2007 / 17:57
или просто Application.DoEvents()

У меня и так срабатывает...

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


Появилась идея разработки ПО :) | Автор: Игорь Голов
Добавлено: 06.08.2007 / 23:57 | ответов: 7 | просмотров: 75

Появилась идея разработки ПО :)
WebPage Реставратор - программа (или комплекс программ-?), осуществляющая автоматическое восстановление html - страниц статических ( пока :) )
сайтов с изменённым содержимым.


Системные требования:

.NET Framework 2.0


Планируемые возможности программы:

- контроль контента путём вычисления контрольный сумм содержимого html - страниц (хэш - суммы);
- восстановление повреждённых страниц из Эталонных резервных копий;



Система устанавливается на сайте и производит ослеживание изменений страниц сайта.
При первом запуске система производит подсчёт хэш-сумм для всех страниц сайта и создаёт эталонные копии страниц с целью последующего
восстановленния страниц с повреждениями.


История идеи:

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

Что Вы об этом думаете?

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


Ответ # 1 | Автор: Игорь Голов
Добавлено:07.08.2007 / 02:30
Идея выдвинута на совещание. Всех, кто изъявит желание помогать в создании - милости прошу!

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


Ответ # 2 | Автор: Алексей
Добавлено:07.08.2007 / 07:56
Система устанавливается на сайте и производит ослеживание изменений страниц сайта.

Могут возникнуть проблемы, когда автор этих страниц захочет их обновить..

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

Тогда, наверное, надо антивирус писать :)

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

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


Ответ # 3 | Автор: Игорь Голов
Добавлено:07.08.2007 / 08:54
Могут возникнуть проблемы, когда автор этих страниц захочет их обновить..


Обновление можно паролем Администратора разрешать....
То есть при вводе Пароля пересоздавать эталонную Базу. Естественно, что никто кроме автора их обновлять не будет...

Тогда, наверное, надо антивирус писать :)


Антивирусы есть - и очень даже неплохие.

Дело не в этом. Я ставлю цель защищать Пользователя путём восстановления чистого контента.

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


Ответ # 4 | Автор: Алексей
Добавлено:07.08.2007 / 10:10
Дело не в этом. Я ставлю цель защищать Пользователя путём восстановления чистого контента.

Все равно не совсем понимаю, что ты хочешь сделать, и зачем..

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

Где столкнулся, если не секрет? И какого рода вредоносный код был внедрен?

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

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


Ответ # 5 | Автор: EROS
Добавлено:07.08.2007 / 10:48
Где столкнулся, если не секрет? И какого рода вредоносный код был внедрен?

Многолетний телепатический опыт мне подсказывает что автор столкнулся с этим у халявных хостеров, когда внизу страниц добавляется реклама сайта типа: Заведи себе почту на Mail.ru, Скачай ToolBar,Посети ХХХ-сайт и т.д.. Только автору невдомёк, что физически его страницы никто не меняет(да и вряд ли это кому то понадобится.. я за свою практику такого ни разу не встречал)! И что все это происходит на уровне Request/Response , когда они(хостер) просто добавляют нужный контент к ответу... И автор потерпит неудачу со своей программой, потому что на бесплатном хосте он не сможет воздействовать на этот процесс.. а в сами страницы при этом абсолютно никаких изменений не вносится..

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


Ответ # 6 | Автор: Алексей
Добавлено:07.08.2007 / 11:29
Если многолетний телепатический опыт EROS-а не ошибается, то
реализовывать подобную программку на стороне сервера, просто не имеет
смысла.. А на стороне клиента, подобными вещами обычно занимается
файрвол, или антивирус, т.н. отдельные модули, специально созданные
для этого.

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

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


Ответ # 7 | Автор: Игорь Голов
Добавлено:07.08.2007 / 16:59
Многолетний телепатический опыт мне подсказывает что автор столкнулся с этим у халявных хостеров, когда внизу страниц добавляется реклама сайта типа: Заведи себе почту на Mail.ru, Скачай ToolBar,Посети ХХХ-сайт и т.д.. Только автору невдомёк, что физически его страницы никто не меняет(да и вряд ли это кому то понадобится.. я за свою практику такого ни разу не встречал)! И что все это происходит на уровне Request/Response , когда они(хостер) просто добавляют нужный контент к ответу... И автор потерпит неудачу со своей программой, потому что на бесплатном хосте он не сможет воздействовать на этот процесс.. а в сами страницы при этом абсолютно никаких изменений не вносится..


Речь о портале KM.RU. И меняют их именно Физически. Берётся страница и туда iframe запихивается, к примеру... Я сам встречал такую, извините, шляпу...


Где столкнулся, если не секрет? И какого рода вредоносный код был внедрен?


KM.RU Внедрялись трояны и прочая нечисть. В основном скриптовые. И фишинг - страницы в придачу...

Если многолетний телепатический опыт EROS-а не ошибается, то
реализовывать подобную программку на стороне сервера, просто не имеет
смысла.. А на стороне клиента, подобными вещами обычно занимается
файрвол, или антивирус, т.н. отдельные модули, специально созданные
для этого.


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

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

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


Asc | Автор: Kolya007
Добавлено: 06.08.2007 / 04:03 | ответов: 15 | просмотров: 147

Asc

Синтаксис:
Asc(String)

Описание:
Функция возвращает ANSI-код первого символа строки.

Я в справочнике не нашел... Потому спрашиваю...
Есть ли функция, которая работает как Asc, но преобразует не только первый символ, а все символы в строке?..
И если нет, то возможно ли такое сделать?.. И если возможно, то как?..

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


Ответ # 1 | Автор: Алексей
Добавлено:06.08.2007 / 05:00
Есть ли функция, которая работает как Asc, но преобразует не только первый символ, а все символы в строке?

нет
И если нет, то возможно ли такое сделать?

нет ничего не возможного :)
И если возможно, то как?

руками, а лучше циклом ;)

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

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


Ответ # 2 | Автор: Kolya007
Добавлено:06.08.2007 / 05:23
руками, а лучше циклом ;)

А пример можно?..))

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


Ответ # 3 | Автор: Алексей
Добавлено:06.08.2007 / 05:35
Можно, но не дам, уж больно простая эта задача, всего 3-4 строчки
кода, так ты совсем деградируешь и ничему не научишься, а еще
придется меня вписывать в раздел "О сайте" ;)

Для получения размера строки используй функцию Len, для
получения определенного символа из строки используй функцию Mid.

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

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


Ответ # 4 | Автор: Kolya007
Добавлено:06.08.2007 / 05:43
Можно, но не дам, уж больно простая эта задача, всего 3-4 строчки
кода, так ты совсем деградируешь и ничему не научишься

Мне проще изучить чужой код, и составить свой с использованием полученых знаний от разборки чужого кода...))
а еще
придется меня вписывать в раздел "О сайте" ;)

Это непроблема...)) Особенно если учесть, что такого раздела у меня на сайте нет...)) Но я могу вписать тебя внизу страницы, как соавтора и Web-мастера...))
Для получения размера строки используй функцию Len, для
получения определенного символа из строки используй функцию Mid.

Эх... А есть функция, которая преобразует в кирилицу(дес.) вместо ANSI?..

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


Ответ # 5 | Автор: Алексей
Добавлено:06.08.2007 / 06:07
Мне проще изучить чужой код, и составить свой с использованием
полученых знаний от разборки чужого кода...))

В данном случае составить свой не получится :)

Хотя, я и так уже много чего написал:
1. Ты знаешь, как получить количество символов
2. Ты знаешь, как получить определенный символ
3. Ты знаешь, что надо использовать цикл
Отсалось собрать все это в кучу и получить нужную тебе функцию:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
For i = 0 To Len("абракадабра") - 1 'минус 1, т.к. Len возвращает длину строки с 1
 'осталось вписать сюда Asc и Mid,
 'ну и переменную, в которую будет
 'записываться результат:
 'sResult = sResult & asc(mid(...))
 'приготовил, разжевал, в рот положил, все остальное сам :))
Next i

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

зы: все эти функции есть у нас в справочнике, причем с примерами
использования.

Но я могу вписать тебя внизу страницы, как соавтора и Web-мастера...))

не, не надо, мне и тут хорошо :)

Эх... А есть функция, которая преобразует в кирилицу(дес.) вместо ANSI?..

хз, если речь идет о DOS-кодировке, то стандартной функции нет.

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

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


Ответ # 6 | Автор: Kolya007
Добавлено:06.08.2007 / 06:07
А есть функция обратная Asc?.. А то зашифрую куки, а расшифровать неполучится...

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


Ответ # 7 | Автор: Алексей
Добавлено:06.08.2007 / 06:15
А есть функция обратная Asc?.. А то зашифрую куки, а расшифровать неполучится...

Есть, зовут ее Chr, работает также, как и Asc. Кстати, если ты собрался
преобразовывать строку в числа, то тебе надо сделать так, чтобы каждое
число имело 3 разряда, т.е. Asc возвращает число (байт) от 0 до
255, например латинская буква A = 65, а буква я = 255, в
первом случае тебе надо получить 065, чтобы не мучаться при
декодировании. Для этого можно использовать функцию Format: Format(Asc("A"), "000")
Еще есть функция Hex, которая преобразует десятичное число в шестнадцатеричное.

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

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


Ответ # 8 | Автор: Kolya007
Добавлено:06.08.2007 / 06:19
Еще есть функция Hex, которая преобразует десятичное число в шестнадцатеричное.

Ты мои мысли читаешь...))
Потому, как функция Hex будет задействована...))
А ещё я задействую strRevers...))

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


Ответ # 9 | Автор: Алексей
Добавлено:06.08.2007 / 06:29
Ты мои мысли читаешь...))
Потому, как функция Hex будет задействована...))
А ещё я задействую strRevers...))

Я сам когда-то так извращался :) Если так подумать, то это не самый надежный
способ, но все равно лучше чем ничего.
Вот, почитай, может что получится ;)
Хотя я раньше баловался простеньким методом, да и сейчас тоже иногда, различными его мутациями, в неособо критичных местах :)

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

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


Ответ # 10 | Автор: Kolya007
Добавлено:07.08.2007 / 01:36
Он опять за свое...
Тип ошибки:
Ошибка компиляции Microsoft VBScript (0x800A0401)
Предполагается наличие окончания инструкции
/admin/enciphering/cipher.asp, line 6, column 5
Next i
----^

Тип ошибки:
Ошибка компиляции Microsoft VBScript (0x800A0401)
Предполагается наличие окончания инструкции
/admin/enciphering/cipher.asp, line 9, column 5
Next j
----^

Это к файлу cipher...
Тип ошибки:
Ошибка компиляции Microsoft VBScript (0x800A0401)
Предполагается наличие окончания инструкции
/admin/enciphering/cipher.asp, line 8, column 5
Next i
----^

Тип ошибки:
Ошибка компиляции Microsoft VBScript (0x800A0401)
Предполагается наличие окончания инструкции
/admin/enciphering/cipher.asp, line 11, column 5
Next j
----^

Это к файлу decipher...

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


Ответ # 11 | Автор: Kolya007
Добавлено:07.08.2007 / 06:50
Вопрос, а как мне преобразовать в десятичную систему из Hex?.. В справочнике ненашел данную функцию...
С тем, что выше, разобрался через Do While Loop, как обычно...))

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


Ответ # 12 | Автор: Kolya007
Добавлено:07.08.2007 / 07:13
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
<%
login_r_s = StrReverse(login_t)
pwd_r_s = StrReverse(pwd_t)
Do While i <= Len(login_r_s) - 1
login_m = Mid(login_r_s, i, i+j)
login_i(i) = Format(Asc(login_m), "000")
i = i + 1
Loop
Do While j <= Len(pwd_r_s) - 1
pwd_m = Mid(pwd_r_s, j, j+1)
pwd_i(j) = Format(Asc(pwd_m), "000")
j = j + 1
Loop
login_i_s = Join(login_i)
pwd_i_s = Join(pwd_i)
login_i_r = StrReverse(login_i_s)
pwd_i_r = StrReverse(pwd_i_s)
login_c = Hex(login_i_r)
pwd_c = Hex(pwd_i_r)
%>

Тип ошибки:
Ошибка выполнения Microsoft VBScript (0x800A0005)
Недопустимый вызов или аргумент процедуры: 'Mid'
/admin/enciphering/cipher.asp, line 5

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


Ответ # 13 | Автор: Алексей
Добавлено:07.08.2007 / 07:56
Попробуй просто Next, без i и j..

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

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


Ответ # 14 | Автор: Алексей
Добавлено:07.08.2007 / 09:47
Вопрос, а как мне преобразовать в десятичную систему из Hex?.. В справочнике ненашел данную функцию...

добавь к тому, что получается, символы &H и будет тебе счастье ;)
CInt("&H" & Hex(255))

С тем, что выше, разобрался через Do While Loop, как обычно...))

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

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

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


Ответ # 15 | Автор: Kolya007
Добавлено:07.08.2007 / 20:46
Попробуй просто Next, без i и j..

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

Двери небыло, в окно прыгать нехотелось... Потому как всегда...
А что с Mid посоветуешь?..
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
<%
i = 0
j = 0
login_r_s = StrReverse(login_t)
pwd_r_s = StrReverse(pwd_t)
Do While i <= Len(login_r_s) - 1
login_m = Mid(login_r_s, i, i + 1)
login_i(i) = Format(Asc(login_m), "000")
i = i + 1
Loop
Do While j <= Len(pwd_r_s) - 1
pwd_m = Mid(pwd_r_s, j, j + 1)
pwd_i(j) = Format(Asc(pwd_m), "000")
j = j + 1
Loop
login_i_s = Join(login_i)
pwd_i_s = Join(pwd_i)
login_i_r = StrReverse(login_i_s)
pwd_i_r = StrReverse(pwd_i_s)
login_c = Hex(login_i_r)
pwd_c = Hex(pwd_i_r)
%>

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


Вопрос по Авторизации | Автор: Kolya007
Добавлено: 03.08.2007 / 08:42 | ответов: 27 | просмотров: 336

1) Как её организовать на сайте?..
2) Как проверить авторизован ли пользователь?..
3) см. 2 вопрос... Как работать с Кукисами и без них?
4) О подводных камнях прошу заранее...))
5) Желательно примеры кодов...))

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


Ответ # 1 | Автор: Bille Gates
Добавлено:03.08.2007 / 09:45
membership - это встроенная система для авторизации регистрации проверки куков и проверки авторизации...
С ней я не работал... Т.к. до конца не разобрался, и не нравится мне что там в пароль обязательно вписывать хотя бы 1 знак(не цифру, и не букву а знак) например #
Пока я с этим разобрался, отпало всякое желание учить эту систему... :D

По этому делай класс... смотри универсальные коды чтобы узнать как работать с куками, для запоминания пользователя используй сессии(Session)
все для создания авторизации ты можешь найти и на форуме... я в свое время тоже спрашивал... ;) А свой код наверняка тебе никто не даст... ибо если у каждого одинаково, то хаккерам работать не придется :D + Многие наверняка используют свою авторизацию в коммерческих проектах, а значит им за неё платят, и им не выгодно давать код просто-так... а делать класс авторизации как пример не хочется могу только написать каркас:


001:
002:
003:
004:
005:
006:
007:
008:
009:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Session("Status") IsNot "Off") Then 'проверили статус авторизации человека на сайте... если авторизован, то:
            If (Request.Cookies("Test")("Login").ToString IsNot Nothing) Then ' проверяем на наличие куков(они должны быть зашифрованы для безопасности)
'далее идет расшифровка(твой код)
'потом запись в сессии
Session("Login") = Log
Session("Password") = Pass
Session("Status") = "on"
'Все дальше только твой код...

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


Ответ # 2 | Автор: EROS
Добавлено:03.08.2007 / 15:44
и не нравится мне что там в пароль обязательно вписывать хотя бы 1 знак(не цифру, и не букву а знак) например #

глупости....

membership - это просто обалденная система!! И кроме нее вообще нифига не надо!! Она все делает сама..

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


Ответ # 3 | Автор: Алексей
Добавлено:03.08.2007 / 15:56
membership

не пугайте человека, вопрос по классическому ASP :)
Session и не более того.

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

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


Ответ # 4 | Автор: Kolya007
Добавлено:04.08.2007 / 06:03
Так, кукисы будут получать имя рандомно и их имена будут записываться в БД...
Вопрос: Как, в случае если пользователь удалит кукисы, мне их восстановить, когда он авторизуется на сайте?..

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


Ответ # 5 | Автор: Алексей
Добавлено:04.08.2007 / 07:12
Так, кукисы будут получать имя рандомно и их имена будут записываться в БД...

зачем?

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

Просто проверяешь их, когда пользователь приходит на сайте, если куков
нет, то ставишь новые.

001:
002:
003:
004:
005:
006:
007:
008:
If Request.Cookies("Kbyte.Ru")("UserName") = "" Then
 'куков нет, ставим новые
 Response.Cookies("Kbyte.Ru")("UserName") = "Вася Пупкин"
 Response.Cookies("Kbyte.Ru").Expires = DateAdd("yyyy", 1, Date)
End If

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


удалять также:
001:
002:
003:
004:
005:
Response.Cookies("Kbyte.Ru")("UserName") = ""
Response.Cookies("Kbyte.Ru").Expires = DateAdd("yyyy", -1, Date)

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


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

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


Ответ # 6 | Автор: Kolya007
Добавлено:04.08.2007 / 07:20
Понятно...
Про шифровку кукисов можно подробнее...))

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


Ответ # 7 | Автор: Алексей
Добавлено:04.08.2007 / 07:30
Шифрование в классическом ASP видимо придется изобретать свое :)

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

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


Ответ # 8 | Автор: Kolya007
Добавлено:04.08.2007 / 07:38
Отдельным файлом это возможно будет сделать?..

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


Ответ # 9 | Автор: Kolya007
Добавлено:04.08.2007 / 07:49
Кстати, как развернуть слово(строку)?..

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


Ответ # 10 | Автор: Kolya007
Добавлено:04.08.2007 / 08:17
Для авторизации я использую Private Sub по имени кнопки на событие клик... Т.е. Private Sub In_Click и Private Sub Out_Click, при этом имена кнопок соответственно In и Out... Как мне сделать чтобы при нажатии кнопки, срабатывал соответствующий Private Sub?..

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


Ответ # 11 | Автор: EROS
Добавлено:04.08.2007 / 08:45
Если речь идет о классическом ASP, тогда сорри... разумеется, MembershipProvider тут никаким боком не поможет..

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


Ответ # 12 | Автор: Алексей
Добавлено:04.08.2007 / 11:04
Для авторизации я использую Private Sub по имени кнопки на событие клик... Т.е. Private Sub In_Click и Private Sub Out_Click, при этом имена кнопок соответственно In и Out... Как мне сделать чтобы при нажатии кнопки, срабатывал соответствующий Private Sub?..

:) Смотри по имени кнопки в Request:
001:
002:
003:
004:
If Request("In") Then In_Click

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

либо создай поле hidden и при помощи JavaScript, когда пользователь
нажимает на кнопку, изменяй его значение, в зависимости от кнопки, на
которую нажал юзер, например:
<input type="hidden" id="myEvent" value="" />
<input type="button" id="btnOk" value="Ok" onclick="document.forms[0].myEvent.value = 'btnOk_Click'" />
<input type="button" id="btnNo" value="Неа" onclick="document.forms[0].myEvent.value = 'btnNo_Click'" />
<input type="button" id="btnYes" value="Угу" onclick="document.forms[0].myEvent.value = 'btnYes_Click'" />
ну а дальше просто проверяй значение myEvent через Request.

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

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


Ответ # 13 | Автор: Алексей
Добавлено:04.08.2007 / 11:05
Кстати, как развернуть слово(строку)?..

Если мне не изменяет память - StrReverse :) В справочнике VB 6.0
есть список всех функций, в том числе и по развороту строк.

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

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


Ответ # 14 | Автор: Алексей
Добавлено:04.08.2007 / 11:06
Отдельным файлом это возможно будет сделать?..

Что именно?

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

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


Ответ # 15 | Автор: Kolya007
Добавлено:04.08.2007 / 12:20
Что именно?

Шифрование...

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


Ответ # 16 | Автор: Алексей
Добавлено:04.08.2007 / 14:14
Все, что угодно :) пихай все необходимые функции в один файл, а потом
этот файл инклудь на страницу, на которой хочешь использовать эти
функции, и все..

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

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


Ответ # 17 | Автор: Kolya007
Добавлено:05.08.2007 / 01:10
Алексей, чего у меня нехватает для того, чтобы авторизация работала?.. См. архив...

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


Ответ # 18 | Автор: Алексей
Добавлено:05.08.2007 / 06:00
"SELECT * FROM members WHERE login='" & Request("login") & "'"

SQL Injection

Session("Status") = "on"

Вот это в приципе не надо, только зря память занимает, можно проверять
по любому другому параметру. Например:
001:
002:
003:
004:
005:
006:
007:
008:
If Not Session("user") = "" Then
 есть сессия
Else
 нет сессии
End If

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


Для выхода лучше очистить все параметры сессии:
Session("Login") = ""
Session("Password") = ""
Session("user") = ""
Ну и:
Session.Abandon

001:
002:
003:
004:
005:
006:
007:
008:
009:
Private Sub Out_Click()
Session("Status") = "Off"
Response.Redirect("/index.asp")
End Sub
End If
End If

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

прикольный код :) он вообще работает?
Целый Sub в двух уловиях стоит (!)
Выше тоже Sub в условиях :)

Response.Cookies("star_defenders")("user") = user_t

Это, наверное, лишнее, так как есть логин и пароль. Хотя проверку
куков я так и не увидел, должно быть примерно так:
1. Если нет Сессии, значит юзер не авторизирован
1.1. Проверяем куки (логин и пароль)
1.1.1. Куки есть, проверям в базе данных указанный в куках логин и пароль
1.1.1.1. Все нормально, создаем сессию, переписываем куки
1.1.1.2. Юзер не найден, показываем форму входа
1.1.2. Куков нет, показываем форму входа
1.2. Юзер вводит логин и пароль.
1.2.1. Проверяем в БД
1.2.1.1. Все сходится, создаем сессию, пишим куки, показываем приветсвие
1.2.1.2. Юзер не найден, показываем сообщение об ошибке.
2. Сессия есть, показываем сообщение с приветсвием.

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

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


Ответ # 19 | Автор: Kolya007
Добавлено:05.08.2007 / 23:43
Чего нехватает?.. См. архив...
Спрашиваю, т.к. с авторизацией работаю впервые, и не очень хочется пропустить что-то...

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


Ответ # 20 | Автор: Алексей
Добавлено:06.08.2007 / 05:07
Response.Cookies("star_defenders")("login") = Request.Cookies("star_defenders")("login")
Response.Cookies("star_defenders")("psw") = Request.Cookies("star_defenders")("psw")

извращенец :)

strSQL = "SELECT * FROM members WHERE login='" & Request.Cookies("star_defenders")("login") & "' AND pwd='" & Request.Cookies("star_defenders")("psw") & "'"

и снова, SQL Injection

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

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

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


Ответ # 21 | Автор: Kolya007
Добавлено:06.08.2007 / 05:21
Response.Cookies("star_defenders")("login") = Request.Cookies("star_defenders")("login")
Response.Cookies("star_defenders")("psw") = Request.Cookies("star_defenders")("psw")
извращенец :)

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

Если я верно помню, то у меня там есть запись:
...
If Not Request.Cookies("star_defenders")("login") = "" Then
If Not Request.Cookies("star_defenders")("psw") = "" Then
...

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


Ответ # 22 | Автор: Алексей
Добавлено:06.08.2007 / 05:27
А что такое?..)) Это на всякий пожарный...))

если уж и переписывать куки, то данные брать из бд, а не из куков :)

Если я верно помню, то у меня там есть запись:
...
If Not Request.Cookies("star_defenders")("login") = "" Then
If Not Request.Cookies("star_defenders")("psw") = "" Then
...

да, есть, но учитывая, что код вообще не имеет никакой структуры, я так и
не смог разглядеть, где кончаются эти два условия :) Кстати, зачем
два, ведь можно сделать одно, через AND.

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

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


Ответ # 23 | Автор: Kolya007
Добавлено:06.08.2007 / 05:31
да, есть, но учитывая, что код вообще не имеет никакой структуры, я так и
не смог разглядеть, где кончаются эти два условия :)

Я сам иногда по долгу блуждаю в своих кодах...))
Кстати, зачем
два, ведь можно сделать одно, через AND.

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

Ок...

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


Ответ # 24 | Автор: Алексей
Добавлено:06.08.2007 / 05:41
Я сам иногда по долгу блуждаю в своих кодах...))

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

Это мне для удобства...))

имхо, лишний End If не известно где - не очень удобное решение :)

зы: если условие, или еще что-то, слишком большое, то можно ставить
комменты, будет проще:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
If a = b Then 'проверка a и b
 ...
 ...
 ...
 If a > 10 Then 'проверка a > 10
  ...
  ...
  ...
 End If 'проверка a > 10
 ...
 ...
 ...
End If 'проверка a и b

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


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

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


Ответ # 25 | Автор: Kolya007
Добавлено:06.08.2007 / 05:48
имхо, лишний End If не известно где - не очень удобное решение :)

Не, вот уж с чем, а с If Then Else End If у меня путаниц бывает очень мало... Примерно 1 к 100...))
ну так в чем проблема, пиши нормальный структурированный код..

С таким проще разобраться, а это не столь полезно...))

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


Ответ # 26 | Автор: Алексей
Добавлено:06.08.2007 / 05:57
С таким проще разобраться, а это не столь полезно...))

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

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

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


Ответ # 27 | Автор: Kolya007
Добавлено:06.08.2007 / 06:04
то через месяц ты уже там ничего не поймешь,
и убьешь большое количество времени, чтобы сделать простейшие вещи.

Все возможно...))

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


Вопрос по IIS... | Автор: Kolya007
Добавлено: 02.08.2007 / 05:39 | ответов: 4 | просмотров: 85

Как мне сделать, что бы IIS не кэшировал старницы?..
А то из-за этого небольшие проблемы...

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


Ответ # 1 | Автор: Алексей
Добавлено:02.08.2007 / 05:45
В самом верху:
001:
002:
003:
004:
005:
006:
<%
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
adOpenStatic = 3
%>


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

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


Ответ # 2 | Автор: Kolya007
Добавлено:02.08.2007 / 08:44
А в самом IIS это можно убрать?.. Спрашиваю на всякий случай...

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


Ответ # 3 | Автор: Алексей
Добавлено:02.08.2007 / 09:02
хз, наверное, если только заголовки прописать..

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

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


Ответ # 4 | Автор: Kolya007
Добавлено:02.08.2007 / 10:12
Спасибо...))

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


Наверх

 

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

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

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

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

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

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

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

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

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

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

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

 

Статьи на Kbyte.Ru

Наверх

 

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

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

Как программно отправить E-Mail?
Дата добавления: 31.07.2006 / 15:02 | просмотров: 1169 | платформа: ASP .NET (VB)

Как сделать часы?
Дата добавления: 16.08.2006 / 23:30 | просмотров: 803 | платформа: VB

DataGridView: Как добавить новую строку?
Дата добавления: 02.08.2006 / 09:31 | просмотров: 1216 | платформа: VB .NET

Как запретить запуск двух копий программы?
Дата добавления: 04.08.2006 / 08:53 | просмотров: 539 | платформа: VB

Анализ даты стандарта RFC822
Дата добавления: 24.03.2007 / 10:58 | просмотров: 196 | платформа: RegEx

Как узнать, отправлялись данные форме или нет?
Дата добавления: 31.07.2006 / 14:23 | просмотров: 558 | платформа: ASP .NET (VB)

Как программно изменить дату в Calendar?
Дата добавления: 25.03.2007 / 08:33 | просмотров: 359 | платформа: ASP .NET (VB)

Удаление куков (Cookies)
Дата добавления: 01.08.2006 / 12:04 | просмотров: 634 | платформа: ASP

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

 

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

Наверх

 

Юмор на Kbyte.Ru

ТВ шоу "О, счастливчик". Новый русский добрался до последнего вопроса:
- Кто из перечисленных птиц не строит гнезда: дрозд, малиновка, кукушка, фазан?
Новый русский просит "звонок другу". Друг говорит ему: "Кукушка", и НР выигрывает миллион. Обмывают они это дело, и НР спрашивает кореша, откуда ему был известен правильный ответ:
- Ну ты даешь, братан! Даже дети знают, что кукушки живут в часах!

 

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

 

Три летучие мыши висят вниз головами.
Вдруг одна - рраз - вверх головой.
(1) - ???
(2) - А, это у нее обморок!

 

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

 

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

 

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

 

В детстве его приходилось пугать патологоанатомом.

 

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

 

Дети, знаете ли вы, откуда течет электричество? - спрашивает учительница.
- Я знаю! - вскакивает ученик.
- Из джунглей!
- Почему ты так считаешь?
- А сегодня утром папа, когда хотел бриться, сказал: "Опять эти обезьяны отключили электричество!"

 

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

 

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

 

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

 

Красный свет. На перекрёстке останавливается навороченная, тонированная "девятка", тут же сзади врубается старая "Тойота". Из "девятки" вылезает амбал, подходит к левой дверце "Тойоты", вытаскивает оттуда маленького мужичка в очках и начинает его гвоздить мордой об капот. Тут тихо открывается правая дверь "Тойоты", выходит амбал в два раза больше этого и говорит: - Ох, неправ ты, братан, так неправ! (Разминая с хрустом руки) - У японских машин руль справа! Как же ты неправ, братан...

 

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

 

Как узнать, что блондинка работала за компьютером?
Монитор выключен, в щель дисковода запихнут 25-центовик, рядом с мышью лежит кусок сыра, а на джойстик натянут презерватив.

 

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

 

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

 

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

 

Мент останавливает Камаз:
- Что, танки грязи не боятся?
- Ты не грязь, ты МУСОР!

 

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

 

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

Наверх


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

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

Copyright (c) Nemiro AS, 2005-2007


В избранное