![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Ребят кто нить подскажите как подсчитать кол-во текстовых файлов в папке и в следующих под папках. И как открыть их все для чтения?
Заранее благодарен! |
|
#2
|
|||
|
|||
|
FindFirst/FindNext/FindClose.
Ну а открывать, зная имя, можно разными способами. Смотря для чего тебе. |
|
#3
|
|||
|
|||
|
открывать чтоб найти определенные слова.FindFirst/FindNext/FindClose -есть ли примеры их использования?
|
|
#4
|
||||
|
||||
|
Цитата:
Код:
var
SearchRec:TSearchRec;
begin
if FindFirst('C:\'+'*.jpg', faAnyFile, SearchRec)=0 then
repeat
ListBox1.Items.Add(SearchRec.Name);
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end; |
|
#5
|
|||
|
|||
|
а как все эти файлы открыть для чтения и сделать один большой массив или для каждого найденного собственный?
|
|
#6
|
|||
|
|||
|
помогите пожалуйста очень нужно!!
|
|
#7
|
||||
|
||||
|
На кой вам их все одновременно держать открытыми? А если их будет 1000 штук? Вы бы объяснили сверхзадачу, может все намного проще надо делать.
|
|
#8
|
|||
|
|||
|
нужно сделать анализатор языка Python надо проследить какая функция используется или нет, какие переменные используются ,какой модуль был подключен и используется ли он...
вот в общем задача. как я понял мне надо найти все файлы с расширение *.py открыть их скинуть содержимое их куда нить и начать находить переменные модули и функции. Если ошибаюсь подправьте и подскажите! Заранее Спасибо! |
|
#9
|
||||
|
||||
|
Можно клнечно действительно сделать один громадный текстовик содержащий весь программный код, в плане скорости доступа, выигрыш будет, но удобно ли это будет использовать - большой вопрос.
Но хозяин барин. Вот код который загоняет все содержимое встречающихся файлов с расширение *.py в TStringList: Код:
unit Unit44;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm44 = class(TForm)
procedure FormCreate(Sender: TObject);
private
Listing: TStringList;
procedure FolderScan(Folder: String);
end;
var
Form44: TForm44;
implementation
{$R *.dfm}
procedure TForm44.FolderScan(Folder: String);
Var FileInfo: TSearchRec;
S: TStringList;
begin
if FindFirst(Folder + '*.*', faAnyFile, FileInfo) = 0
then try
repeat
if (FileInfo.Name = '.') or (FileInfo.Name = '..') then Continue;
if (FileInfo.Attr and faDirectory <> 0)
then begin
FolderScan(Folder+FileInfo.Name+'\');
Continue;
end;
if ExtractFileExt(FileInfo.Name) = '.py'
then begin
S := TStringList.Create;
S.LoadFromFile(Folder+FileInfo.Name);
Listing.AddStrings(S);
S.Free;
end;
until FindNext(FileInfo) <> 0;
finally
SysUtils.FindClose(FileInfo);
end;
end;
procedure TForm44.FormCreate(Sender: TObject);
begin
Listing := TStringList.Create;
FolderScan('E:\DBase\MARAFON\');
end;
end. |
|
#10
|
|||
|
|||
|
По моему, надо подходить к этому вопросу с другой стороны. Тебе нужен парсер питона, который будет строить соотв. дерево синтаксического разбора.
|
|
#11
|
|||
|
|||
|
Цитата:
|
|
#12
|
|||
|
|||
|
Цитата:
спасибо большое) |
|
#13
|
|||
|
|||
|
Цитата:
|