У меня есть база @yandex.ru. Мне нужно написать код в delphi, чтоб она удаляла все знаки после "@", я написал код, но он не компилируется программой - выдаёт ошибку. Вы можете сказать, что в этом коде не так ?
memo2 := copy(pre base[a],1,pos('@',prebase[a])-1); - Нашёл его в инете и переработал под себя. Он не работает.
x := pos(prebase[a],'@',delete,-1); - Сам написал, думаю, что тут точно что то не так, так как я начинающий прогер.
P.S Эти коды в программе ошибок не выдают, выдают только при компиляций. Если этот код - бред, напишите пример пожалуйста.
P.S.S Быть может, что это Рабочая среда херовая, так как я её скачивал на каком то забугорном форуме и она у меня переодически вылетает и зависает.
Другие языки программирования и технологии
Помогите с Delphi! Умоляю!
не пытаясь вспомнить дельфю и её встроенные и библиотечные функции:
в первом
pos('@',prebase[a]) -два аргумента
во втором
pos(prebase[a],'@',delete,-1); -четыре аргумента.
как минимум сходу встаёт вопрос об аккуратности отслеживания скобок и запятых
( а учитывая "copy(pre base[a]" ещё и пробелов)
-----
добавка
"Эти коды в программе ошибок не выдают, выдают только при компиляций" примерно равно "этий кипичь не падить на нога, толька на ступня"
Это может указывать на ошибку не столько в коде столько в ДНК
в первом
pos('@',prebase[a]) -два аргумента
во втором
pos(prebase[a],'@',delete,-1); -четыре аргумента.
как минимум сходу встаёт вопрос об аккуратности отслеживания скобок и запятых
( а учитывая "copy(pre base[a]" ещё и пробелов)
-----
добавка
"Эти коды в программе ошибок не выдают, выдают только при компиляций" примерно равно "этий кипичь не падить на нога, толька на ступня"
Это может указывать на ошибку не столько в коде столько в ДНК
Каким образом вы обрабатывете базу (в гриде, в мемо )?
Pos() работает так:
Pos('что ищем','где ищем') возвращает позицию вхождения.
Например: a: Byte;
a := Pos('?','abcd?2/d'); вернет позицию первого вхождения символа "?" в строке "abcd?2/d", т. е. 5. Потому что ? -пятый символ в строке.
Copy() работает так:
Copy('строка',номер начального символа, количество символов) и возвращает строку.
t: ShortString;
t := Copy('abcdefgh',2,3);
в t будет содержаться 'bcd', т. е. 3 символа, начиная со второго, в строке 'abcdefgh'.
В твоей задаче - удалить все, что после @ делай так:
memo2 := Copy(prebase[a],1,Pos('@',prebase[a])-1);
Или, если используешь memo как элемент формы, лучше пиши memo2.text;
В твоем случае ошибки могут быть если prebase[a] не содержат строки. Это массив строк у тебя? a - это индекс массива? Проверь сперва через watch или showmessage;
Т. е. добавь инструкцию ShowMessage(prebase[a]); и если всё ок, то увидишь свою строку. Я так понимаю - база е-майлов?
Pos('что ищем','где ищем') возвращает позицию вхождения.
Например: a: Byte;
a := Pos('?','abcd?2/d'); вернет позицию первого вхождения символа "?" в строке "abcd?2/d", т. е. 5. Потому что ? -пятый символ в строке.
Copy() работает так:
Copy('строка',номер начального символа, количество символов) и возвращает строку.
t: ShortString;
t := Copy('abcdefgh',2,3);
в t будет содержаться 'bcd', т. е. 3 символа, начиная со второго, в строке 'abcdefgh'.
В твоей задаче - удалить все, что после @ делай так:
memo2 := Copy(prebase[a],1,Pos('@',prebase[a])-1);
Или, если используешь memo как элемент формы, лучше пиши memo2.text;
В твоем случае ошибки могут быть если prebase[a] не содержат строки. Это массив строк у тебя? a - это индекс массива? Проверь сперва через watch или showmessage;
Т. е. добавь инструкцию ShowMessage(prebase[a]); и если всё ок, то увидишь свою строку. Я так понимаю - база е-майлов?
Задайте этот вопрос на форумах программистов, может быстрее найдете ответ
Похожие вопросы
- помогите пожалуйста, Delphi
- помогите по Delphi (10 баллов)
- Помогите с delphi там мало)
- помогите программисты!) delphi 7
- Помогите на паскале умоляю
- Помогите с Delphi 7 нужно из одной формы в другую отправить значения численные Real!
- ПОМОГИТЕ!!!!ПЛИИИИЗ!!!!delphi/pascal!!
- помогите разобраться (delphi)
- помогите, пожалуйста!! ! Delphi
- Помогите с Delphi? SpinEdit1 и SpinEdit2