Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема при работе со строками

11K
14 ноября 2008 года
zuze
84 / / 07.03.2008
Мне нужно что бы в Etl1 лежали символы которые находились в Etl до пробела.

Код:
Dim Etl$
Dim Etl1$
Dim i%
Dim z%
Dim numprobel%

Etl = "2 2"

FOR i = 1 TO LEN(Etl$)
      if MID$(Etl$, i, 1) = " " then
       numprobel = i
       endif
NEXT i

z = 1
               
FOR i = 1 TO numprobel-1
     MID$(Etl1$, z, 1) = MID$(Etl$, i, 1)
    z = z + 1
NEXT i


Но при выполнение программы возникает ошибка

error VTR2102: Illegal function call

И указывает на строчку

 
Код:
MID$(Etl1$, z, 1) = MID$(Etl$, i, 1)


Но я не могу понять как это поправить, я всегда писал на С и С++, а тут надо написать на Basic.

Помогите пожалуйста решить проблему?

Мне в одном месте сказали что ныжно так

 
Код:
z = 1
               
FOR i = 1 TO numprobel-1
    Etl1=Left(Etl1,z-1) & MID$(Etl,i,1) & MID$(Etl1,z+1)
    z = z + 1
NEXT i


Это правельный код для моей задачи, если да помогите его понять, а если нет ка же всётаки правельно это сделать?
296
14 ноября 2008 года
Virtuoso
331 / / 31.07.2005
Ошибка вылазит, потому что ты пытаешься символу присвоить символ. Это невозможно. А почему нельзя просто вместо:
 
Код:
z = 1
               
FOR i = 1 TO numprobel-1
    Etl1=Left(Etl,z-1) & MID$(Etl,i,1) & MID$(Etl1,z+1)
    z = z + 1
NEXT i

написать:
 
Код:
Etl1=Left(Etl,numprobel-1)
? Зачем перебирание символов?
11K
14 ноября 2008 года
zuze
84 / / 07.03.2008
Сделал так

 
Код:
Etl1$ = LEFT$(Et1$, INSTR(1,Etl$," ")-1)


Захотел проверить какое там значение

 
Код:
MSGBOX(Etl1)


Выскочило пустое окно.

А при компиляции было сообщение

warning VTC4371: 'Et1' not declared; defaulting to variable of type 'STRING'

Что же не правельно и как поправить?
296
14 ноября 2008 года
Virtuoso
331 / / 31.07.2005
ошибся в написании: у тебя обозначена переменная "Etl", а написал "Et1" (вместо буквы Л написал единицу)

Кстати ошибаешься в написании не только этого. Слово "правельно" пишется через "И".
11K
14 ноября 2008 года
zuze
84 / / 07.03.2008
Ой, действительно я 'l' забыл поставить.

Спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог