|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите с картинкой
Первый раз пишу на этом форуме
Собственно вопрос: мне нужно чтобы имя файла картинки полученной через OpenDialog и показанной на форме, было записано в файл, но при этом вылетает ошибка "File not found" И еще можно ли как-нибудь отделитьтолько имя файла, то есть если полное имя файла: I:\Folder\file.bmp, то надо убрать I:\Folder\ и оставить только file.bmp? |
#2
|
||||
|
||||
второе - ExtractFileName.
А насчёт первого - приведи строку, где вылетает ошибка, скажу, что не так. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
Как ты сохраняешь в файл? А для получения имени файла используй ExtractFileName ('Имя файла')
|
#4
|
|||
|
|||
Код:
procedure TForm2.Button4Click(Sender: TObject);// получения имени файла var i:integer; begin OpenDialog1.Title:='Выбор картинки'; if OpenDialog1.Execute then begin fName:=OpenDialog1.FileName; try Image1.Picture.LoadFromFile(fName); except ShowMessage('Нужно выбрать файл картинки! .bmp, .jpg и т.д.'); end; SpeedButton1.Enabled:=true; Image1.Visible:=true; ImageVis:=True; end; procedure TForm2.Button2Click(Sender: TObject);// запись в файл begin Append(TMP);// ранее созданный файл ( но при этом делфи его выделяет) Writeln(TMP,N); Writeln(TMP,LabeledEdit1.Text); if ImageVis=true then begin Writeln(TMP,'1'); Writeln(TMP,fName); end else writeln(TMP,'0'); CloseFile(TMP); N:=N+1; Label2.Caption:=IntToStr(N); Image1.Visible:=False; end; Последний раз редактировалось Admin, 16.07.2009 в 13:43. |
#5
|
|||
|
|||
Цитата:
Это не помогает, т.к. получается имя файла с указанием всего пути, а надо только имя и расширение |
#6
|
|||
|
|||
Цитата:
Это - вряд ли. Код:
//После этого : MyFileName:=ExtractFileName ('C:\MyDir1\MyDir2\MiDir3\MyFile.txt'); //В переменной MyFileName должно быть значение=MyFile.txt Цитата:
Файл-то может и создан ранее (в смысле - существует на диске). Но на него в программе нужно получить ссылку (как минимум). Т.е, может быть TMP - не корректная ссылка ? Или же (может быть) файл иммет атрибут Hidden (System). Тогда AssignFile может его не "увидеть" ... |
#7
|
|||
|
|||
Цитата:
Так, с именем файла я разобрался... Теперь к TMP этокорректная ссылка так как текстовые данные в этот файл записать удается но как только дело доходит до именя картинки ему что-то не нравится |
#8
|
||||
|
||||
Код:
procedure TForm1.Button1Click(Sender: TObject); begin OpenDialog1.Title:='Выбор картинки'; if OpenDialog1.Execute then begin fName:=OpenDialog1.FileName; try Image1.Picture.LoadFromFile(fName); except showmessage('Выберите другую картинку!!!'); end; button2.Visible:=true; end; end; procedure TForm1.Button2Click(Sender: TObject); var path:string; f:textfile; begin path:= ExtractFilePath(Application.EXEName)+ '1.txt'; AssignFile(f, path); Append(f); WriteLn(f, ExtractFileName(FName)); CloseFile(f); button2.Visible:=false; end; |