Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 18.06.2012, 09:55   #1 (permalink)
_Cazalan
Member
 
Регистрация: 18.06.2012
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Wink Работа с Memo и Edit

У меня будет 2 вопроса, но сначала один

Имеется едит, в нём адрес файла(допустим C:\Documents and Settings\Администратор\Рабочий стол\123.bmp) для моей программы нужен адрес без 123.bmp. При нажатии на кнопку нада удалить название файла и расширение. Каким способом лучше это сделать?
_Cazalan вне форума   Ответить с цитированием

Старый 18.06.2012, 09:55
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Я уверен, что это займет немного времени, посмотрите

Поле ввода текста Memo
Работа
Создание компонента Edit в Delphi

Старый 18.06.2012, 10:01   #2 (permalink)
_Cazalan
Member
 
Регистрация: 18.06.2012
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Работаь со словами в мемо я не умею, со строками лучше разбираюсь
_Cazalan вне форума   Ответить с цитированием
Старый 18.06.2012, 11:03   #3 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

1) Заведите текстовую переменную и присвойте ей значение Edit.text. Затем в цикле отрезайте по одному символу справа до слеша.
2) Используйте свойство файла Path для получения пути к рабочему каталогу, это будет проще и надежнее.
AlexZir вне форума   Ответить с цитированием
Старый 18.06.2012, 14:02   #4 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

Вот тебе готовый простейший текстовый редактор. Накидал по быстрому.
Вложения
Тип файла: rar 9.rar (183.4 Кб, 32 просмотров)
Gruvi вне форума   Ответить с цитированием
Старый 18.06.2012, 14:30   #5 (permalink)
_Cazalan
Member
 
Регистрация: 18.06.2012
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Gruvi Посмотреть сообщение
Вот тебе готовый простейший текстовый редактор. Накидал по быстрому.
и зачем он мне? я далеко не текстовый редактор делаю
_Cazalan вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 18.06.2012, 14:31   #6 (permalink)
_Cazalan
Member
 
Регистрация: 18.06.2012
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
1) Заведите текстовую переменную и присвойте ей значение Edit.text. Затем в цикле отрезайте по одному символу справа до слеша.
2) Используйте свойство файла Path для получения пути к рабочему каталогу, это будет проще и надежнее.
ну первое понятненько, а со вторым можно поподробней?
_Cazalan вне форума   Ответить с цитированием
Старый 18.06.2012, 14:32   #7 (permalink)
_Cazalan
Member
 
Регистрация: 18.06.2012
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

и вот в html что бы указать ту папку в которой лежит файл, мы просто пишем слеш и названия файла в этой папке(например /index.html), а в делфи так нельзя? путь файла будет всегда разный.
_Cazalan вне форума   Ответить с цитированием
Старый 18.06.2012, 14:42   #8 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

Цитата:
Сообщение от _Cazalan Посмотреть сообщение
и вот в html что бы указать ту папку в которой лежит файл, мы просто пишем слеш и названия файла в этой папке(например /index.html), а в делфи так нельзя? путь файла будет всегда разный.
в делфи проще будет встроить просто дерево каталогов и все смотреть и выбирать через него.
смотри еще что бы (если будешь писать путь вручную) что бы не было пробелов , иначе делфа не прочитает.
Gruvi вне форума   Ответить с цитированием
Старый 18.06.2012, 15:04   #9 (permalink)
_Cazalan
Member
 
Регистрация: 18.06.2012
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Gruvi Посмотреть сообщение
в делфи проще будет встроить просто дерево каталогов и все смотреть и выбирать через него.
смотри еще что бы (если будешь писать путь вручную) что бы не было пробелов , иначе делфа не прочитает.
Я узнаю путь к файлу через opendialog. Адрес он записывает в лейбл. Либо в мемо(не сильно сложно будет поменять . Надо удалить название и расширение. Я обгуглился уже весь. Может скинешь код?

опа. сейчас я попробую сделать 1 вещь, позже отпишусь

опять мысль есть, я сделать не могу из за плохих знаний

Ну что, поможешь? Просто на такую простенькую программу не охото тратить больше дня

Memo1.Lines.Strings:=Memo1.Lines.Strings-('desktop.ini');

я понимаю что чушь, но лучше придумать не могу

Memo1.Text:=Edit1.Text;
Memo1.Text:=StringReplace(Memo1.Text,'desktop.ini' ,'',[rfReplaceAll]);
В Едит1 хранится адрес файла. При нажатии на кнопку, из адреса удаляется desktop.ini, всё нормально. Но мне надо, что бы удалялся не именно desktop.ini, а название файла и расширение.
_Cazalan вне форума   Ответить с цитированием
Старый 18.06.2012, 20:47   #10 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

1) вы используя OpenDialog сохраняете адрес какого-то файла в edit1 и там вам надо удалить имя файла?

Код:
procedure TForm1.openClick(Sender: TObject);{Кнопка с помощью которой открываю файл}
begin
OpenDialog1.Execute();
Edit1.Text := OpenDialog1.FileName;
end;

procedure TForm1.cutClick(Sender: TObject);{кнопка обрезки названия файла с расширением}
var sText: string;
var iPosLocal, iPosGlobal: integer;
begin
  sText := Edit1.Text;
  iPosGlobal := 0;
  repeat
    iPosLocal := Pos('\', sText);
    Delete(sText, 1, iPosLocal);
    iPosGlobal := iPosGlobal + iPosLocal;
  until (Pos('\', sText) = 0);

  sText := Edit1.Text;
  Delete(sText, iPosGlobal+1, Length(sText));
  Edit1.Text := sText;
end;
kreol вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 20:41.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.