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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2009, 09:49   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Ошибка в статье = ошибка в рограмме.

http://programmersclub.ru/ahillesarhiv/
В этой статье подробно описана процедура архивации\разархивации, но похоже допущена ошибка в орфографии или не описана переменная. Программа немного ругается на строку:
Код:
   bytesread:=decompressStream.Read(mainbuffer,buffer_size);
Мол такая переменная не описана. Что делать?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 28.07.2009, 09:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Никаких ошибок:
Цитата:
mainbuffer:array[0..buffer_size-1] of char; // константа нужна для универсальности

//её можно (т.е. нужно) объявить где-нибудь в начале


Поэтому константе buffer_size лучше присвоить значение 1024 (это самое оптимальное значение - проверено опытом!!!).
Читать просто нужно внимательно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.07.2009, 09:59   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А теперь не принимает какой-либо < Путь к результату >. На всех ругается. Уже пробовал указывать и папку и файл... ( в процедуре разархивации)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 28.07.2009, 10:18   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А теперь не принимает какой-либо
Код, как грится, в студию )
И текст ошибок
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.07.2009, 10:23   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Код:
unit Unit18;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Zlib, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  source,dest:TFileStream;
  decompressStream:TDecompressionStream;
  bytesread:integer;
  mainbuffer:array[0..1023] of char;
begin
  source:=TFileStream.Create('D:\PROGRAMMING\DELPHI\Delphi\Projects\1.zip',fmOpenRead);
  dest:=TFileStream.Create('D:\PROGRAMMING\DELPHI\Delphi\Projects\TEST\1.bmp',fmCreate);
  decompressStream:=TDecompressionStream.Create(source);
  try
  repeat
   bytesread:=decompressStream.Read(mainbuffer,1024);
   dest.Write(mainbuffer,bytesread);
  until bytesread<1024;
  except
  decompressStream.Free;
  source.Free;
  dest.Free;
  exit;
  end;
  decompressStream.Free;
  source.Free;
  dest.Free;
end;
end.
1:При этом пути
2: При пути без 1.bmp
Изображения
Тип файла: jpg 1.jpg (16.5 Кб, 145 просмотров)
Тип файла: jpg 2.jpg (18.9 Кб, 149 просмотров)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 28.07.2009, 10:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
D:\PROGRAMMING\DELPHI\Delphi\Projec ts\TEST\
Ошибка вылезет если у тебя такой папки нет.
Пройди пошагам отладчиком - на какой строке выбивает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.07.2009, 13:07   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Все во вложениях.
Изображения
Тип файла: jpg Выбивает здесь.jpg (5.7 Кб, 144 просмотров)
Тип файла: jpg не удается найти путь.jpg (20.8 Кб, 134 просмотров)
Тип файла: bmp папка существует.bmp (45.9 Кб, 139 просмотров)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 28.07.2009, 13:24   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну дык значит нет такой папки. Чтоб заработало нужно проверять существует она и лежащий в ней файл али нет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.07.2009, 13:30   #9
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
папка существует.bmp (45.9 Кб, 1 просмотров)
Папка сама есть а вот что значит
Цитата:
и лежащий в ней файл
???
Ведь это выходная папка.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 28.07.2009, 13:52   #10
DarkEvil
Форумчанин
 
Аватар для DarkEvil
 
Регистрация: 08.05.2009
Сообщений: 247
По умолчанию

я б это:
Код:
 source:=TFileStream.Create('D:\PROGRAMMING\DELPHI\Delphi\Projects\1.zip',fmOpenRead);
  dest:=TFileStream.Create('D:\PROGRAMMING\DELPHI\Delphi\Projects\TEST\1.bmp',fmCreate);
зделал так:

Код:
if OpenDialog1.Execute then
source:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
if SaveDialog1.Execute then
dest:=TFileStream.Create(SaveDialog1.FileName,fmCreate);
Мой сайт
Цитата:
Сообщение от Scream In Darkness
Кровь не даёт покоя! Кровь не знает сна!
Кровь бежит на волю – Вены рвёт сама!
DarkEvil вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Nero - ошибка драйвера DMA. ошибка CRC NecRoMat Софт 5 09.05.2012 01:29
Ошибка в Аfor i:=1 to SI do. Пишит что ошибка в SI Алексей_xXx Помощь студентам 2 29.05.2009 00:09
...Ошибка 101 (net::ERR_CONNECTION_RESET): Неизвестная ошибка... infrared Помощь студентам 0 16.04.2009 17:44
Ошибка zav-mikhail Общие вопросы Delphi 0 28.05.2008 14:58
как добавить комментарий к статье после самой статьи? Gorychev PHP 4 21.04.2008 22:22