| Dmitri | 
   Отправлено: 18.06.2003, 18:32 | 
 
 
 | 
 
  
admin@localhost 
 
Группа: Модератор 
Сообщений: 110 
  
  
 | 
 Сабж. Мне надо занести данные из файла в TSringList построчно. Вот, что написал: 
| CODE  |   
// Переменная, в которой хранится вся информация, считанная из файла 
char *mem=NULL; 
// Размер, который необходимо выделить под информацию из файла в памяти 
int mem_size=0;
  
char *filename="";
  
TStringList *Str=new TStringList();
 
  
 if(OpenDialog1->Execute()){ 
   filename=OpenDialog1->FileName.c_str(); 
 } 
 FILE *in; 
 in=fopen(filename, "rb"); 
 if(in==NULL){ 
   ShowMessage("Ошибка при открытии файла."); 
   return; 
 } 
 fseek(in,0,2); 
 mem_size=ftell(in); 
 fseek(in,0,0); 
 delete mem; 
 mem=new char[mem_size+1]; 
 mem[mem_size]=0; 
 if((int)fread(mem,1,mem_size,in)!=mem_size) ShowMessage("Ошибка чтения файла."); 
 fclose(in);
  
 Str->Clear();
  
/*  int cur=0, last=0, leng=0; 
 char *temp=new char[1024*64];
  
 for(int i=0;i<mem_size;i++){ 
   if(mem[i]='\n'){ 
     leng=cur-last; 
     memcpy(temp, mem+last, leng); 
     Str->Add(temp); 
     temp[leng]=0; 
   } */ <- Что писать? Как мне считать текст пока не Enter (\n) и занести его в новую строку в TSringList? 
 |   
 | 
 
  | 
 
| Asher | 
| Отправлено: 18.06.2003, 18:56 | 
 
 
 | 
 
 
  
Мастер участка 
 
Группа: Модератор 
Сообщений: 550 
  
  
 | 
 A стандартный способ, вроде этого не подойдет? 
| CODE  |   
Str->Clear(); 
Str->LoadFromFile(filename); |   
 | 
 
  | 
 
  |