Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3

Модерирует : ShIvADeSt

ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

diodio



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
День добрый. Простите, о гуру, за ламерский вопрос, но все же
Подскажите, пжалста, - как можно не особо геморно выделить файлы в каталоге по маске и скопировать их?
Пробовал копировать функциями winapi и джеди, да видно хреново разобрался, что-то вроде
FileCopy('c:\1\d*.*', 'c:\2\d*.*',true); не катит

Всего записей: 111 | Зарегистр. 26-12-2006 | Отправлено: 00:00 27-07-2007 | Исправлено: diodio, 00:02 27-07-2007
Joker79

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
Procedure ScanDirMask(Dir, Mask: string);
var
  SearchRec:TSearchRec;
begin
  if Dir<>'' then
    if Dir[length(Dir)]<>'\' then
      Dir:=Dir+'\';
  if FindFirst(Dir+Mask, faAnyFile, SearchRec)=0 then
    repeat
      if (SearchRec.name='.') or (SearchRec.name='..') then
        continue;
      if (SearchRec.Attr and faDirectory)<>0 then
        ScanDirMask(Dir+SearchRec.name, Mask) //Опускаемся в поддиректорию, если надо
      else
        Showmessage(Dir+SearchRec.name); //Заменить на процедуру копирования файла
    until
      FindNext(SearchRec)<>0;
  FindClose(SearchRec);
end;

Всего записей: 22 | Зарегистр. 13-07-2007 | Отправлено: 01:44 27-07-2007
j7



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли в ApdTapiDevice (Async Pro) после поднятия трубки  работать непосредственно с COM портам?
И, еще, может кто подскажет как мне решить эту  проблему [?] ?
Спасибо.

Всего записей: 750 | Зарегистр. 14-12-2001 | Отправлено: 05:58 27-07-2007
GreatOne



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди подскажите плиз че я делаю неправильно???
 
 var
  Stream:TStream;
begin
  Stream:=TStream.Create;
  IdFTP1.Get(Adres,Stream);
  Memo1.Lines.LoadFromStream(Stream);
 
Пишет что абстрактная ошибка.

Всего записей: 85 | Зарегистр. 15-03-2007 | Отправлено: 10:39 27-07-2007
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
GreatOne
Что ты хочеш зделать? скачать файл по фтп?
я качал вот так

Код:
 
procedure TFTPThread.Download;
var
  aFiles: TStringList;
  x: Extended;
begin
  try
    FTPClient.Connect;
    if FChangeDir <> EmptyStr then FTPClient.ChangeDir(FChangeDir);
    aFiles:= TStringList.Create;
    FTPClient.List(aFiles, FFileName, true);
    if aFiles.Count > 0 then begin
      FBytesTotal := FTPClient.Size(FFileName);
      x := GetFileSize(FLocalFileName);
      if x >= 0 then
        FBytesAlreadyDone := x
      else
        FBytesAlreadyDone := 0;
      if FLastTime = 0 then FLastTime := time;
      FTPLog('Починаємо скачування файла ' + FFileName + '...');
      FTPLog('Розмір: ' + FloatToStrF(FBytesTotal, ffFixed, 9, 0) + ' байт');
      aFiles.Free;
      FTPClient.Get(FFileName, FLocalFileName, false, true);
    end
    else begin
      FTPLog('Файла ' + FFileName + ' не існує. Скачування буде перервано.');
      FTPClient.Disconnect;
      aFiles.Free;
      FFlag := FL_FILE_NOT_EXISTS;
      Terminate;
    end;
    FDownloadCompleted := true;
    FTPLog('Скачування файла успішно завершено');
    FTPClient.Disconnect;
  except
    on E:Exception do begin
      FTPLog('ERROR: ' + E.Message);
    end;
    on E:EIdException do begin
      FTPLog(E.Message);
    end;
  end;
end;
 
 


----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 11:24 27-07-2007
GreatOne



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Solnake
Не, мне нужно загрузить данные из файла в TMемо - не сохраняя его на хард.

Всего записей: 85 | Зарегистр. 15-03-2007 | Отправлено: 11:58 27-07-2007
SpoinT



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
GreatOne
Сделай так
 
begin  
  Memo1.Lines.Add(IdHTTP1.Get(Adres));
end;
 
Добавлено:
Упс. не увидел, что для фтп надо.

Всего записей: 840 | Зарегистр. 31-01-2007 | Отправлено: 12:04 27-07-2007 | Исправлено: SpoinT, 12:07 27-07-2007
dyr farot

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GreatOne, а справку на предмет использования стримов почитать слабо?
или текст ошибки почитать...
вместо TStream.Create нужно TFileStream.Create писать...

Всего записей: 697 | Зарегистр. 03-08-2004 | Отправлено: 12:10 27-07-2007
SpoinT



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
IdFTP1.Get(Adres,Stream);

Там не должен еще третий параметр разве стоять?

Всего записей: 840 | Зарегистр. 31-01-2007 | Отправлено: 12:13 27-07-2007
diodio



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
2 Joker79
Спасибо! Работает

Всего записей: 111 | Зарегистр. 26-12-2006 | Отправлено: 12:15 27-07-2007
Chuvakstepan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите пожалуйста, как в Delphi программно узнать версию шейдеров на видеокарте пользователя?

Всего записей: 202 | Зарегистр. 29-01-2007 | Отправлено: 15:08 27-07-2007
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dyr farot
Ну как раз если данные на диск писать не надо, то лучше подойдет TMemoryStream.  
GreatOne
TStream - абстрактный класс, который только описывает общие для всех стримов свойства и методы, а конкретную реализацию оставляет для наследников, поэтому его экземпляр создать нельзя.

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 10:32 28-07-2007
GreatOne



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim
Спасибо!

Всего записей: 85 | Зарегистр. 15-03-2007 | Отправлено: 19:30 28-07-2007
MsdLamer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте у меня к вам мастера такой вопрос.  
 
1. допустим есть файлик excel с названием Отчет.xls
2. есть текстовые файлики содержащие всего одну строку.
3. в файлике отчет.xls есть специальные ячейки в которые необходимо вставить строчку
из текстового файлика. К примеру: В ячейку E2 необходимио вставить содержимое текстового файлика E2.txt. Текстовый файлик содержит моленкую строчку к примеру: 12345.  
 
Подскажите как можно сделать?

Всего записей: 53 | Зарегистр. 26-07-2007 | Отправлено: 13:39 29-07-2007
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
uses ..., comobj;
 
procedure  
  var XL:Variant;
  s:string;
  row,col:integer;
begin
  try
    try XL := GetActiveOleObject('Excel.Application');
    except XL := CreateOleObject('Excel.Application');
    end;
  except
    raise Exception.Create('Can nor run Excel');
  End;
  XL.Visible := True;
  XL.Workbooks.Add('Отчет.xls');
// s:=прочитать значение из файла  
// row:= ... ; col:=... ;
  XL.Cells[row, col].Value:=s;
end;

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 09:54 30-07-2007
Alkatraz

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!  
Может кто сталкивался со следующей проблеммой - в Delphi 2007 невозможно создать Remote Data Module - его просто нет в списке добавляемых форм.
 
Если кто сталкивался, то пожалуйста скажите, как это можно побороть...

Всего записей: 57 | Зарегистр. 18-09-2006 | Отправлено: 12:01 30-07-2007
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MsdLamer
по поводу Excel - просто в дополнение к ответу уважаемого RostY - Этот вариант будет работать ТОЛЬКО на машине, где установлен Excel. Есть ещё возможность сделать то же самое, БЕЗ самого Excel (без использования OLE)
но тогда потребуются сторонние компоненты для доступа к файлам XLS (например, XLSReadWriteII или TXLSFile.Library). но эти компоненты не бесплатны.
 

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 14:26 30-07-2007
GreatOne



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извините если я задаю глупый вопрос, но есть-ли в дельфи спец команда которая меняет значение переменной типа boolean(меняет значение на противоположное текущему)? Если криво объяснил привожу пример:
 
команда(boolean) //если был true станет false и наоборот

Всего записей: 85 | Зарегистр. 15-03-2007 | Отправлено: 10:41 01-08-2007
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GreatOne
var b: boolean;
 
b := TRUE;
b := not b; // b := FALSE
 
Это имелось в виду?

Всего записей: 3778 | Зарегистр. 19-04-2005 | Отправлено: 10:55 01-08-2007 | Исправлено: relictus, 10:56 01-08-2007
GreatOne



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну типа того
 
Добавлено:
А можно-ли через idftp залить на фтп папку со всеми файлами и подкаталогами - одной командой? Или нужно вручную создавать каталоги и закидывать файлы?

Всего записей: 85 | Зарегистр. 15-03-2007 | Отправлено: 11:03 01-08-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3
ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru