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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2009, 14:05   #1
GrindeX
Пользователь
 
Регистрация: 02.05.2009
Сообщений: 26
Вопрос Указание пути к файлам,имена файлов

Разбираясь в теме файлов возникли вопросы:
1)Введя с клавиатуры например C:\Jo\3.txt как сделать чтобы в команде Assign(f,'ПУТЬ'); вместо слова 'ПУТЬ' вставлялся текст введенный с клавиатуры?т.е. можно было бы самому указывать путь к файлу во время работы программы.
2)Тоже самое что и в первом вопросе, только с командой Chdir
3)В команде FindFirst как указать имя файла?Например i:=237;
Как сделать чтобы он искал файлы ?237.* т.е вместо знака вопроса 1 любой символ, вместо звездочки любое разрешение.Я пробовал делать что-то типа FindFirst('?',i'.*',AnyFile,DirInfo ); но не получается.
Заранее благодарен за ответы.

Последний раз редактировалось GrindeX; 05.05.2009 в 07:57.
GrindeX вне форума Ответить с цитированием
Старый 04.05.2009, 14:29   #2
StudeHt
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 78
По умолчанию

Цитата:
1)Введя с клавиатуры например C:\Jo\3.txt как сделать чтобы в команде Assign(f,'ПУТЬ'); вместо слова 'ПУТЬ' вставлялся текст введенный с клавиатуры?т.е. можно было бы самому указывать путь к файлу во время работы программы.
Можно вот так:
Код:
write('Введите имя входного файла ');
readln(NameFile);
assign(f,NameFile);
reset(f);
StudeHt вне форума Ответить с цитированием
Старый 04.05.2009, 17:35   #3
GrindeX
Пользователь
 
Регистрация: 02.05.2009
Сообщений: 26
По умолчанию

^Спс,теперь и со 2 вопросом все понятно.Остался 3-й
GrindeX вне форума Ответить с цитированием
Старый 04.05.2009, 23:50   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так?
Код:
var s : string;
....
  str(i,s);
  FindFirst('?'+s+'.*',AnyFile,DirInfo); 
  while ( DosError = 0 ) do begin
...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.05.2009, 07:54   #5
GrindeX
Пользователь
 
Регистрация: 02.05.2009
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так?
Да, спасибо всем за помощь
GrindeX вне форума Ответить с цитированием
Старый 26.05.2009, 18:40   #6
andreww
Пользователь
 
Регистрация: 26.05.2009
Сообщений: 20
По умолчанию

по этой же теме.подскажите почему программа не работает?написана вроде без ошибок:

program kursowaja;
uses crt, graph;
var
s:string;
M:array[1..10] of string;
i:integer;
ch:char;

procedure M1(var M:array of string; var i:integer);
var
s,pr:string;
ff:text;
begin
writeln('Введите путь к файлу MENU.DAT');
readln(s);
assign(ff,s);
reset(ff);
i:=1;
while not eof(ff) do
begin
readln(ff,pr);
M[i]:=pr;
i:=i+1;
end;
i:=i-1;
writeln('Всего пунктов меню ',i);
close(ff);
end;

procedure M2(M:array of string; i:integer);
var
n,x,y,j,gd,gm:integer;
a:real;
s:string;
begin
initgraph(gd,gm,'');
gd:=detect;
if graphresult <>grok then
halt(1);
cleardevice;
repeat
n:=0;
repeat
clearviewport;
settextstyle(1,0,1);
setcolor(4);
outtextxy(20,20,'VIXOD-ESC');
for j:=1 to i do
begin
setcolor(1);
rectangle(0,getmaxy-50*j, 200,getmaxy-50*(j-1));
settextstyle(4,0,2);
setcolor(2);
if length(M[j]) > 11 then M[j]:=copy(M[j],1,11);
outtextxy(10,getmaxy-50*j+10, M[j]);
end;
setcolor(4);
Line(210,655-n, 225,640-n);
Line(225,640-n, 225,670-n);
Line(225,670-n, 210,655-n);
Line(215,655-n, 225,645-n);
Line(215,655-n, 225,665-n);
Line(220,655-n, 225,655-n);
ch:=readkey;
if ch=#72 then n:=n+50;
if ch=#80 then n:=n-50;
if n=i*50 then n:=0;
if n=-50 then n:=(i-1)*50;
if ch=#27 then closegraph;
until ch=#13;
a:=n/50+1;
int(a);
str(a,s);
setcolor(5);
outtextxy(300,300, 'Funktsia nomer');
outtextxy(540,300,s[2]);
ch:=readkey;
until ch=#27;
closegraph;
end;

begin
clrscr;
M1(M,i);
M2(M,i);
end.

а задача такая была:
Написать функцию формирования и функцию работы с меню (в графическом режиме). Пункты меню должны храниться в файле MENU.DAT. Функция формирования читает пункты меню из файла и заносит их в массив. Необходимо запомнить количество пунктов меню. Вторая функция обеспечивает вывод на экран и перемещение по меню с помощью клавиш «» и «». Нажатие клавиши ENTER завершает работу функции (но не программы, выход из программы вы¬пол¬няется только при нажатии ESC). При этом в главную функцию возвращается номер выбранного пункта. Написать программу, демонстрирующую применение данных функций
andreww вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
имена файлов Tirendus БД в Delphi 1 01.04.2009 20:49
Как задать команду загрузки файлов данных на кнопку если каталог и имена файлов известны??? Andbuba Microsoft Office Excel 2 28.12.2008 17:28
Пути к файлам в INI файле Shouldercannon Общие вопросы Delphi 1 17.12.2008 18:46
Есть 2 листбокса, в 1 пути к файлам, во 2 имена этих файлов. delphi. Xandr Помощь студентам 2 06.10.2007 00:17
Указание пути к библиотекам _SERGEYX_ Общие вопросы Delphi 2 24.07.2007 09:35