18.06.2012, 09:55 | #1 (permalink) |
Member
Регистрация: 18.06.2012
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Работа с Memo и Edit
Имеется едит, в нём адрес файла(допустим C:\Documents and Settings\Администратор\Рабочий стол\123.bmp) для моей программы нужен адрес без 123.bmp. При нажатии на кнопку нада удалить название файла и расширение. Каким способом лучше это сделать? |
18.06.2012, 09:55 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Я уверен, что это займет немного времени, посмотрите Поле ввода текста Memo Работа Создание компонента Edit в Delphi |
18.06.2012, 11:03 | #3 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
1) Заведите текстовую переменную и присвойте ей значение Edit.text. Затем в цикле отрезайте по одному символу справа до слеша.
2) Используйте свойство файла Path для получения пути к рабочему каталогу, это будет проще и надежнее. |
18.06.2012, 14:30 | #5 (permalink) |
Member
Регистрация: 18.06.2012
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
18.06.2012, 14:32 | #7 (permalink) |
Member
Регистрация: 18.06.2012
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
и вот в html что бы указать ту папку в которой лежит файл, мы просто пишем слеш и названия файла в этой папке(например /index.html), а в делфи так нельзя? путь файла будет всегда разный.
|
18.06.2012, 14:42 | #8 (permalink) | |
VIP user
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
|
Цитата:
смотри еще что бы (если будешь писать путь вручную) что бы не было пробелов , иначе делфа не прочитает. |
|
18.06.2012, 15:04 | #9 (permalink) | |
Member
Регистрация: 18.06.2012
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Цитата:
опа. сейчас я попробую сделать 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, а название файла и расширение. |
|
18.06.2012, 20:47 | #10 (permalink) |
Member
Регистрация: 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; |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|