![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Первый раз пишу на этом форуме
Собственно вопрос: мне нужно чтобы имя файла картинки полученной через OpenDialog и показанной на форме, было записано в файл, но при этом вылетает ошибка "File not found" И еще можно ли как-нибудь отделитьтолько имя файла, то есть если полное имя файла: I:\Folder\file.bmp, то надо убрать I:\Folder\ и оставить только file.bmp? |
|
#2
|
||||
|
||||
|
второе - ExtractFileName.
А насчёт первого - приведи строку, где вылетает ошибка, скажу, что не так. |
|
#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; |