Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2009, 21:14   #1
Romer9999
Пользователь
 
Регистрация: 19.11.2008
Сообщений: 42
По умолчанию ошибка с POS

Привет всем помогите пожалуйста решить проблему! Вот я писал писал программу и понадобилось сделать процедуру где бы она удаляла из строки '/' и '.' вобщем должна удалить из адреса к файлу всё лишнее кроме имени самого файла Например: (C:\Музыка\14 Дорожка 14.wma) должна оставить только (14 Дорожка 14)
вот что я понаписал:
Код:
 
 procedure TForm1.N2Click(Sender: TObject);
var
jo,v,pot,pos,vv,i:integer;
l,s2:string;
begin
  OpenDialog1.InitialDir:=Application.ExeName;
  if OpenDialog1.Execute then begin
  mediaplayer1.Enabled:=True;
mediaplayer1.filename:=OpenDialog1.FileName;
mediaplayer1.Open;
button1.enabled:=true;
button3.enabled:=true;
button2.enabled:=true;


l:=opendialog1.FileName;
 v:=length (l);  

pot:=pos ('.',l);
pos:=pos ('\',l);


if (pot>0) and (pos>0) then   begin
  s2:=copy(l,pot,v);
  delete (l,pot,v);
v:=length (l);

for i:=1 to v do begin
 pos:=pos ('\',l);
 if pos>0 then begin
 delete(l,i,pos);
 end;
 end;
 label2.Caption:=l;

     end; end;
Пишет ошибку на строке с (pot:=pos ('.',l)
Missing operator or semicolon
Помогите пожалуйста если кто знает что это.
Romer9999 вне форума Ответить с цитированием
Старый 16.02.2009, 21:18   #2
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
По умолчанию

Напиши extractfilename('Тут имя откуда берешь например:'OpenDialog1.FileName );
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 16.02.2009, 22:05   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Пишет ошибку на строке с (pot:=pos ('.',l)
Да нет, компилятор имеет в виду следующую строку.
Интересно - кто вас научил (или сами додумались?) использовать для имен переменных ключевые слова?
pos:=pos ('\',l);
Да к тому же так дико их использовать...
Или вы думаете, что "компутер, он такой умный - все схавает"?

З.Ы. Впрочем, на РОТ тоже может реагировать неоднозначно - вот нашел в хэлпе:
Цитата:
pot = (PPERF_OBJECT_TYPE)((PBYTE)pdb + pdb->HeaderLength);
Давайте нормальные имена переменным, и не будет таких казусов.

Последний раз редактировалось mihali4; 18.02.2009 в 23:56.
mihali4 вне форума Ответить с цитированием
Старый 17.02.2009, 19:14   #4
Romer9999
Пользователь
 
Регистрация: 19.11.2008
Сообщений: 42
По умолчанию

Спасибо всем большое ошибка в глупая в POS была просто переменную поменял и всё ok!
p.s
--------------------------
Волк пробовал как ты говорил написать extractfilename('Тут имя откуда берешь например:'OpenDialog1.FileName );
неполучается так как к переменной приравнивается не содержимое opendialog а сама фраза
Romer9999 вне форума Ответить с цитированием
Старый 18.02.2009, 18:03   #5
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
По умолчанию

Цитата:
Сообщение от Romer9999 Посмотреть сообщение
Волк пробовал как ты говорил написать extractfilename('Тут имя откуда берешь например:'OpenDialog1.FileName );
неполучается так как к переменной приравнивается не содержимое opendialog а сама фраза
а ты неправильно делаешь, надо вот так:

edit2.Text:=extractfilename(edit1.T ext);
[Ferox]
postal2 вне форума Ответить с цитированием
Старый 18.02.2009, 22:28   #6
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Вообще, pos - не ключевое слово, поэтому можно (но не нужно) писать Pos := System.Pos(...)
Somebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция Pos в Delphi Fantom Помощь студентам 8 04.05.2012 18:56
имя может встречаться несколько раз, как используя pos найти все вхождения имени в строку milton Паскаль, Turbo Pascal, PascalABC.NET 2 09.12.2008 22:34
pos и copy zotox Помощь студентам 1 23.10.2008 21:13
Проблеммы с использованием функций работы со строками Copy и Pos Soso Общие вопросы Delphi 13 09.08.2007 16:01