Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.08;
Скачать: CL | DM;

Вниз

Работа с файлом   Найти похожие ветки 

 
wnix   (2008-05-13 18:47) [0]

У меня не получается создать файл в папке
Посмотрите
Этот код создает файл
 AssignFile(FInput,Inlink);
 AssignFile(FOutput, "Crypt\"+edit1.Text);

А этот не саздает и пишет что файла не существует.

 AssignFile(f1,InLink);
 Reset(f1) ;
 AssignFile(f2,"UnCrypt\"+edit2.Text);
 rewrite(f2) ;


 
Palladin ©   (2008-05-13 18:52) [1]


> Этот код создает файл
>  AssignFile(FInput,Inlink);
>  AssignFile(FOutput, "Crypt\"+edit1.Text);

с чего вдруг он создает? он ничего не создает, он назначает переменным FInput и FOutput связь с названиями файлов...


> А этот не саздает и пишет что файла не существует.
>
>  AssignFile(f1,InLink);
>  Reset(f1) ;
>  AssignFile(f2,"UnCrypt\"+edit2.Text);
>  rewrite(f2) ;

и ты думаешь тебя жестоко обманывают?


 
wnix   (2008-05-13 18:56) [2]

Вот полный вид :
Это работает и файл создается

 memo1.Lines.Add("> Кодирование файла");
 n:=0;
 C:= length(MaskEdit1.Text);
 setlength(key,C);
 for I2 := 1 to C do
 key[i2] := byte(MaskEdit1.Text[i2]);

 AssignFile(f1,Edit1.Text);
 Reset(f1) ;
 AssignFile(f2,"data\temp.r");
 InLink := "data\temp.r";
 rewrite(f2) ;

 While Not Eof(f1) do
 begin
   Read(f1, b);
   n := n + 1;
   if n = C then n := 0;
   b := b Xor key[n];
   Write(f2, b);
 end;

 CloseFile(f1);
 CloseFile(f2);


А это почемуто не работатет


n:=0;

 C:= length(MaskEdit2.Text);
 setlength(key,C);
 for I2 := 1 to C do
 key[i2] := byte(MaskEdit2.Text[i2]);

 AssignFile(f1,InLink);
 Reset(f1) ;
 AssignFile(f2,"UnCrypt\"+edit2.text);
 rewrite(f2) ;

 While Not Eof(f1) do
 begin
   Read(f1, b);
   n := n + 1;
   if n = C then n := 0;
   b := b Xor key[n];
   Write(f2, b);
 end;

 CloseFile(f1);
 CloseFile(f2);



почему так ?


 
Palladin ©   (2008-05-13 19:00) [3]

потому что бананы желтые и гнилые, а помидоры не похожи на огурцы...


>  AssignFile(f1,Edit1.Text);
>  Reset(f1) ;
>  AssignFile(f2,"data\temp.r");
>  InLink := "data\temp.r";
>  rewrite(f2) ;

у тебя существует файл Edit1.Text, потому и работает


>
>  AssignFile(f1,InLink);
>  Reset(f1) ;
>  AssignFile(f2,"UnCrypt\"+edit2.text);
>  rewrite(f2) ;

у тебя не существует файл InLink, потому и не работает

или ты сомневаешься в безграничности вселенной?


 
wnix   (2008-05-13 19:03) [4]

есть только папка data
"data\temp.r"
а файла temp.r нету !!!
он потом появляется!


 
Palladin ©   (2008-05-13 19:04) [5]

когда потом? "потом" это какое то время года? а когда ты это "потом" видишь?


 
wnix   (2008-05-13 19:04) [6]

первый
кусок Работает и создает файл которого в папке небыло а второй ничего не создает.
Почему ?


 
wnix   (2008-05-13 19:05) [7]

и пишет ошибку  файл не найден


 
Palladin ©   (2008-05-13 19:06) [8]

а папка Uncrypt есть?


 
wnix   (2008-05-13 19:07) [9]

есть


 
wnix   (2008-05-13 19:08) [10]

я думал может дело в edit2
ну в edit1 просто записано 1.txt
а в edit2  зхаписано
E:\Programming\Company\Coder2\Coder1\Coder\Crypt\1.txt
может в этом проблема?


 
Palladin ©   (2008-05-13 19:08) [11]

вот прямо так есть такая папка как

ShowMessage(GetCurrentDir+"UnCrypt\"+edit2.text);
?


 
Palladin ©   (2008-05-13 19:09) [12]

фу блин, обшибся

ShowMessage(GetCurrentDir+"\UnCrypt");


 
wnix   (2008-05-13 19:10) [13]

Palladin ©   (13.05.08 19:08) [11]
а зачем это


 
wnix   (2008-05-13 19:10) [14]

зачем показывать сообщение


 
Palladin ©   (2008-05-13 19:11) [15]

что бы глазами ты посмотрел на путь и удостоверился что его нет


 
wnix   (2008-05-13 19:13) [16]

А куда вставить.


 
wnix   (2008-05-13 19:15) [17]

Ну вставил просто на кнопку
ShowMessage(GetCurrentDir+"\UnCrypt");
посмотрел что путь туда Есть


 
Palladin ©   (2008-05-13 19:20) [18]

слушай, ты меня нервничать заставляешь, то у тебя первый код не работает, то второй, ты сам то хоть понимаешь что ты несешь?

в [2] у тебя все работает, в [4] оказывается уже не работает...

замучил, за метлой!


 
wnix   (2008-05-13 19:24) [19]

я говорю может
проблема в том что

в edit1 просто записано 1.txt
а в edit2  зхаписано
E:\Programming\Company\Coder2\Coder1\Coder\Crypt\1.txt

Может надо как то отделить название файла с раширением


 
Сергей М,   (2008-05-13 19:27) [20]


> wnix


Бездумно тырить чужой код для отмазки на зачете/курсовом/экзамене/дипломе как минимум не есть корошо.


 
wnix   (2008-05-13 19:28) [21]

Я заметил если в edit1 тоже указываю полный путь к файлу то Не работает


 
wnix   (2008-05-13 19:29) [22]

Сергей М,   (13.05.08 19:27) [20]
это не зачет
Я просто пишу прогу для себя.


 
Сергей М,   (2008-05-13 19:31) [23]


> просто пишу прогу для себя


Вот и пиши с использованием TFileStream, а не этого AssignFile-дерьма, оставленного Борландом, видимо, для студентов-недоучек)


 
wnix   (2008-05-13 19:33) [24]

как извлечь имя файла с раширением archiv:File;
в переменую OutLink: string;


 
wnix   (2008-05-13 19:34) [25]

Подумал что надо использоват переменую с именем outLink
что заменить
AssignFile(f2,"UnCrypt\"+OutLink);


 
Anatoly Podgoretsky ©   (2008-05-13 19:37) [26]


> а не этого AssignFile-дерьма, оставленного Борландом, видимо,
>  для студентов-недоучек)


Это не дерьмо, ну разве для тех, кто не понимает.


 
Сергей М,   (2008-05-13 19:38) [27]

Ты можешь вразумительно рписать исх.данные и конечную цель ?)


 
wnix   (2008-05-13 19:38) [28]

Удалено модератором


 
wnix   (2008-05-13 19:38) [29]

Сергей М,   (13.05.08 19:38) [27]
Сейчса напишу.


 
Сергей М,   (2008-05-13 19:39) [30]


> Anatoly Podgoretsky ©   (13.05.08 19:37) [26]


Кому как)


 
Palladin ©   (2008-05-13 19:42) [31]

я хоть и незабыл древность, но тоже в приципе assignfile/reset использую очень редко, в основном для текстовых и в оссновном с целью readln %)

TStream и семейство штука куда более удобная... в купе с helper"ом...


 
wnix   (2008-05-13 19:43) [32]

Шифровщик
который пишу в эдите 1
Файл зашифровуется и сохраняется файл с таким же название и расширением но зашифрованный в паку Crypt
Выполняется = да

Разшифровщик
пишу файл(зашифрованый который находится в папке Crypt ) в едит2
Файл Расшифровуется и сохраняется файл с таким же название и расширением но зашифрованный в паку UnCrypt
Выполняется = нет


 
Сергей М,   (2008-05-13 19:45) [33]


> TStream и семейство штука куда более удобная.


Эт точно)

В любом случае, если где-то лажа, исключением по мозгам стукнет - мол. то-то и там-то не так и не сяк.

А с "древностью" еще и за директивами компайлера следить надо)


 
wnix   (2008-05-13 19:47) [34]

edit2 содержит такой тектс
E:\Programming\Company\Coder2\Coder1\Coder\Crypt\1.txt

AssignFile(f2,"UnCrypt\"+edit2.text);

Скажите этот AssignFile разве будет правильно работать


 
Сергей М,   (2008-05-13 19:48) [35]


> Шифровщик
> который пишу в эдите 1


Чиво-чиво ты  пишешь в эдите ?!


 
Palladin ©   (2008-05-13 19:48) [36]

нет конечно...


 
Сергей М,   (2008-05-13 19:49) [37]


> этот AssignFile разве будет правильно работать


Будет.


 
Сергей М,   (2008-05-13 19:51) [38]


> Palladin ©   (13.05.08 19:48) [36]


Это Reset и Rewrite не будут, а AssignFile фиолетов бредовый путь - она лишь ассоциацию устанавливает, а не открывает файл


 
Leonid Troyanovsky ©   (2008-05-13 19:52) [39]


> Сергей М,   (13.05.08 19:27) [20]

А чего это правила нарушаем?
Сергей М. © - вполне здесь известный человек.

--
Regards, LVT.


 
Palladin ©   (2008-05-13 19:54) [40]


> Сергей М,   (13.05.08 19:51) [38]

эт понятно... я про последствия


 
wnix   (2008-05-13 19:55) [41]

Проблема только тогда когда я в Едитах 1,2
указываю не просто названия файла который находится в корне с программой , а конгда я указываю с путем.
смотрите
Если так то работает
1.txt
а так не работает
E:\Programming\Company\Coder2\Coder1\Coder\1.txt


 
Leonid Troyanovsky ©   (2008-05-13 19:55) [42]

Удалено модератором


 
Умище   (2008-05-13 19:56) [43]

Удалено модератором


 
wnix   (2008-05-13 20:20) [44]

а у opendialog1 можно както извлечь имя файла с расширением Без пути к нему


 
wnix   (2008-05-13 20:22) [45]

Я подумал что нужно мне узнать просто имя файла с раширением
и записать в строковую переменную
Как это сделать или opendialog1 или с переменной типа Files


 
Умище   (2008-05-13 20:31) [46]

extractfilename
используй либо абсолютные, либо относительные пути. Тогла не будешь ошибаться. Использование относительных путей также часто приводит к ошибкам...


 
Сергей М. ©   (2008-05-13 20:51) [47]


> Leonid Troyanovsky ©   (13.05.08 19:52) [39]


Не нарушаем)

Эт я, сам себе из себя "известный")

Приношу пардоны, не уловил момент, когда точка на запятую у меня поменялась


 
Anatoly Podgoretsky ©   (2008-05-13 21:39) [48]


> Скажите этот AssignFile разве будет правильно работать

Ни в коем случае и тебе советовали вывести путь в сообщение, иначе бы ты не задавал этот вопрос.


 
Anatoly Podgoretsky ©   (2008-05-13 21:41) [49]

Сергей М,   (13.05.08 19:49) [37]

> Будет.

Чем докажешь, я то просто докажу

UnCrypt\E:\Programming\Company\Coder2\Coder1\Coder\Crypt\1.txt

Это недопустимое имя файла


 
Anatoly Podgoretsky ©   (2008-05-13 21:43) [50]


> Это Reset и Rewrite не будут, а AssignFile фиолетов бредовый
> путь

Сделай поправку на автора, он же пока и на начинающего не тянет, а ты казуистикой занялся.


 
Loginov Dmitry ©   (2008-05-14 00:08) [51]

> Вот и пиши с использованием TFileStream, а не этого AssignFile-
> дерьма, оставленного Борландом, видимо, для студентов-недоучек)


+1

На практике очень часть монопольное открытие файла для чего бы то ни было - ни есть гуд!


 
Германн ©   (2008-05-14 01:10) [52]


> Loginov Dmitry ©   (14.05.08 00:08) [51]
>
> > Вот и пиши с использованием TFileStream, а не этого AssignFile-
>
> > дерьма, оставленного Борландом, видимо, для студентов-
> недоучек)
>
>
> +1
>
> На практике очень часть монопольное открытие файла для чего
> бы то ни было - ни есть гуд!
>

-1
Для "практики" есть переменная FileMode. Если кто-то не умеет ею пользоваться, это его личные проблемы.


 
Loginov Dmitry ©   (2008-05-14 07:57) [53]

> Для "практики" есть переменная FileMode. Если кто-то не
> умеет ею пользоваться, это его личные проблемы.


Продемонстрируй умение пользоваться этой переменной при наличии пары десятков потоков.



Страницы: 1 2 вся ветка

Текущий архив: 2008.06.08;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.022 c
2-1211025413
slimer
2008-05-17 15:56
2008.06.08
Отключение ошибок


2-1210816175
kupidon
2008-05-15 05:49
2008.06.08
Dbgid- проблема с шириной столбцов


2-1210748961
dima
2008-05-14 11:09
2008.06.08
SkinCrafter


4-1190441616
antoxa2005
2007-09-22 10:13
2008.06.08
Открыть порт в Брэндмауэре WinXP SP2


2-1211118230
Антенна
2008-05-18 17:43
2008.06.08
Функция на ассемблере