Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка файла с определённым размером 
:(
    Опции темы
dark73
  Дата 23.1.2006, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.1.2006

Репутация: нет
Всего: нет



Как сделать так, что бы файл набравши вес 3кб, сразу же отправлялся на ФТП ? (прогу надо без формы) (отправку на ФТп я уже реализовал)
PM MAIL   Вверх
MIX55
Дата 23.1.2006, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


много работы
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 208
Регистрация: 23.10.2005
Где: Здесь

Репутация: 3
Всего: 4



Определяешь размер файла так:
Код

function GetFileSize(namefile: string): Integer;
var
  InfoFile: TSearchRec;
  AttrFile: Integer;
  ErrorReturn: Integer;
begin
  AttrFile := $0000003F; {Any file}
  ErrorReturn := FindFirst(namefile, AttrFile, InfoFile);
  if ErrorReturn <> 0 then
    Result := -1 
  else
    Result := InfoFile.Size; 
  FindClose(InfoFile);
end;


проверяешь условие
Код

i:=GetFilesize('Primer.txt');

if i=3000 then отправляем на ФТП;




--------------------
Hарод, а как в дельфи писать паскалевские проги....?*********************************************Жизнь слишком коротка, чтобы писать на Assembler'e
PM MAIL ICQ   Вверх
Snowy
Дата 24.1.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Или просто использовать FileSize из SysUtils.
Кроме того немаловажно, каким именно образом этот файл набирает размер.
PM MAIL   Вверх
dark73
Дата 26.1.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.1.2006

Репутация: нет
Всего: нет





Хочу попробывать с формой, но не выходит.

Код

procedure TForm1.FormCreate(Sender: TObject);
function GetFileSize(namefile: string): Integer;
var
  InfoFile: TSearchRec;
  AttrFile: Integer;
  ErrorReturn: Integer;
begin
  AttrFile := $0000003F; {Any file}
  ErrorReturn := FindFirst(namefile, AttrFile, InfoFile);
  if ErrorReturn <> 0 then
    Result := -1 
  else
    Result := InfoFile.Size; 
  FindClose(InfoFile);
end;
i:=GetFilesize('c:\mydir\primer.txt');
if i=3000 then отправляем на ФТП;
end;
end.


какие мои ошибки?
PM MAIL   Вверх
bems
Дата 26.1.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



попробуй так:
Код

function GetFileSize(namefile: string): Integer;
var
  InfoFile: TSearchRec;
  AttrFile: Integer;
  ErrorReturn: Integer;
begin
  AttrFile := $0000003F; {Any file}
  ErrorReturn := FindFirst(namefile, AttrFile, InfoFile);
  if ErrorReturn <> 0 then
    Result := -1 
  else
    Result := InfoFile.Size; 
  FindClose(InfoFile);
end;


procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
i:=GetFilesize('c:\mydir\primer.txt');
if i=3000 then отправляем на ФТП;
end;



--------------------
Обижено школьников: 8
PM MAIL   Вверх
ne0n
Дата 26.1.2006, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Функцию разместил
Переменная i у тебя не где не обьявленна!
Приблизительно должно быть так:
Код

function GetFileSize(namefile: string): Integer;
var
  InfoFile: TSearchRec;
  AttrFile: Integer;
  ErrorReturn: Integer;
begin
  AttrFile := $0000003F; {Any file}
  ErrorReturn := FindFirst(namefile, AttrFile, InfoFile);
  if ErrorReturn <> 0 then
    Result := -1 
  else
    Result := InfoFile.Size; 
  FindClose(InfoFile);
end;
...
procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;{помоему integer}
begin
i:=GetFilesize('c:\mydir\primer.txt');
if i=3000 then ....
end;


Цитата(dark73 @ 26.1.2006, 20:59 Найти цитируемый пост)

if i=3000 then отправляем на ФТП;

Делфи по-русски не понимаетsmile

p.s. Компьютерное воровство приравнивается к реальному!!!

Это сообщение отредактировал(а) ne0n - 26.1.2006, 21:32
PM MAIL ICQ   Вверх
dark73
Дата 26.1.2006, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.1.2006

Репутация: нет
Всего: нет



Странно, всё равно не работает smile


Я попробывал заменить отправку на Фтп другой ф-цией, ибо вдруг отправка может и не работает.


Вот полный код проги

Код

unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}
function GetFileSize(namefile: string): Integer;
var
  InfoFile: TSearchRec;
  AttrFile: Integer;
  ErrorReturn: Integer;
begin
  AttrFile := $0000003F; {Any file}
  ErrorReturn := FindFirst(namefile, AttrFile, InfoFile);
  if ErrorReturn <> 0 then
    Result := -1 
  else
    Result := InfoFile.Size; 
  FindClose(InfoFile);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
i:=GetFilesize('c:\mydir\primer.txt');
if i=3000 then CopyFile('C:\1.txt', 'C:\mydir\2.txt, false);
 end;

end.


Думаю ошибка у меня где-то в коде, хотя Хз.
не пойму =(
PM MAIL   Вверх
MAXakaWIZARD
Дата 26.1.2006, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi wizard



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 5.1.2006
Где: Украина, г. Херсо н

Репутация: нет
Всего: нет



А что это за отправка на фтп простым копированием? Имеется в виду, что папка mydir расшарена на фтп?
Добавлено @ 22:29
Да и кстати. 3 Кб это не 3000 байт, а 3072 байт. smile
Добавлено @ 22:31
Да, у тебя ошибка в коде, в
Цитата(MAXakaWIZARD @ 26.1.2006, 22:28 Найти цитируемый пост)

CopyFile('C:\1.txt', 'C:\mydir\2.txt, false);

после 2.txt поставь кавычку. smile
Впредь повнимательнее надо.
Добавлено @ 22:38
Ладно, чувак. Что-то ты молчишь. Мне пора домой (я на работе), время-то уже позднее. Если что, то пиши мне на мыло: [email protected]. Всегда буду рад помочь. Но у меня дома пока инета нет, поэтому у меня нет возможности каждый день проверять почту. Так что если что, то жди пару дней.
Добавлено @ 22:39
Счастливо! smile

Это сообщение отредактировал(а) MAXakaWIZARD - 26.1.2006, 22:28
PM MAIL ICQ   Вверх
dark73
Дата 26.1.2006, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.1.2006

Репутация: нет
Всего: нет



Я хочу, что бы файл C:\primer.txt после того как наберёт размер 3Кб автоматически отсылался бы мне на ФТП, но потом я понял, что ФТП не пойдёт и простым копирование решил проверить работу всей проги, НЕ ПАШЕТ =((


Теперь хочу попробывать что бы файл после набирания 3кб файл отправлялся на [email protected], но вот не знаю как это всё реализовать smile
Ни какой инфы ни где нет =(
PM MAIL   Вверх
dark73
Дата 27.1.2006, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.1.2006

Репутация: нет
Всего: нет



помгите, реализовать кто может, а то оч срочно надо, а в дельфях я очень слаб
PM MAIL   Вверх
Guedda
Дата 27.1.2006, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Послать на мыло, это в раздел: "Delphi - Сети"...

А ты уверен, что при набирании размер файла не перескакивает через отметку 3 Кб, а, допустим, 2999 байт, 3466 байт... Может, лучше сделать так:
Код

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
function GetFileSize(namefile: string): Integer;
var
  InfoFile: TSearchRec;
  AttrFile: Integer;
  ErrorReturn: Integer;
begin
  AttrFile := $0000003F; {Any file}
  ErrorReturn := FindFirst(namefile, AttrFile, InfoFile);
  if ErrorReturn <> 0 then
    Result := -1 
  else
    Result := InfoFile.Size; 
  FindClose(InfoFile);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
i:=GetFilesize('c:\mydir\primer.txt');
if i >= 3072 then CopyFile('C:\1.txt', 'C:\mydir\2.txt, false);
 end;
end.



--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
dark73
Дата 27.1.2006, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.1.2006

Репутация: нет
Всего: нет



Опять ошибки =(
Build
[Error] Unit1.pas(47): Unterminated string
[Error] Unit1.pas(48): Not enough actual parameters
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

PM MAIL   Вверх
bems
Дата 27.1.2006, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(dark73 @ 27.1.2006, 15:23 Найти цитируемый пост)

[Error] Unit1.pas(47): Unterminated string
-кавычку закрой



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Guedda
Дата 27.1.2006, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Цитата

[Error] Unit1.pas(48): Not enough actual parameters


В функции некоторые параметры не дописал


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
dark73
Дата 27.1.2006, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.1.2006

Репутация: нет
Всего: нет



Всё отлично работает =)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1023 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.