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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2011, 16:58   #11
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

А по какому принципу сдвигались? то есть сортируем по строкам в мемо3 а в мемо1 строки должны сместится соответственно?
vovk вне форума Ответить с цитированием
Старый 18.01.2011, 17:01   #12
Uroboros
Пользователь
 
Регистрация: 17.01.2011
Сообщений: 12
По умолчанию

да, я там добавил ручное добавление, попробуй создать файл и подобовлять в него несколько строк, оно все сделает на ура, но с открытием готового файла козлиться...
Uroboros вне форума Ответить с цитированием
Старый 18.01.2011, 17:54   #13
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

честно говоря это ужас. Такое ощущение , что это всё надёргано из разных никак не связаных между собой исходников, общей мысли нет вообще. Я дико извиняюсь но если попросить вас обьяснить где и что по вашему должно происходить, то вы расскажете совершенно не то что там происходит..
в общем попробую частично объяснить.
При создании файла файловая глобальная файловая переменная F связывается с файлом из пременной filename возвращённой savedialog .
при добвалении записей, записи добавляются в типизированый файл связанный с файловой переменной F, потом по клику на изменить строки добавляются в предварительно очищеные TMemo в упорядоченном виде именно из типизированного файла.
При открытии файла (текстового файла) из него данные построчно добавляются в компоненты мемо, файловая переменная F в это время связана , а кто его знает с чем она на тот момент связана.

в общем всё разбирать не буду, на клик по Button3 процедуру чуть перепишу, чтоб работало, но переделывать там надо ВСЁ.

Код:
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
begin
  OpenDialog1.Title:='Открыть файл';
  if OpenDialog1.Execute then
            begin
        fname:=OpenDialog1.Filename;
           AssignFile(f, 'temp.sort');
         Rewrite(f);
              memo1.clear;  memo2.clear;  memo3.clear;
              assignfile(ft,fname);
              reset(ft);
             readln(ft,s);

          if pos('|',s)<>0 then  //а если в случайно выбранном файле в 1 строке окажется этот символ?
          begin
          closefile(ft);
          assignfile(ft,fname);
          reset(ft);
          while not eof(ft) do
          begin
          readln(ft,s);
          memo1.Lines.Add(copy(s,1,pos('|',s)-1));
           w.fam:= copy(s,1,pos('|',s)-1);
          memo2.Lines.Add('|');
           w.adr:= '|';
          memo3.Lines.Add(copy(s,pos('|',s)+1,length(s)));
           w.bed:= copy(s,pos('|',s)+1,length(s));
           write(f,w);
          end;

          end
          else
          begin

             Reset(f);
                While not  eof(f) do
                 begin
                 read(f,w);
                 memo1.lines.add(w.fam);
                 memo2.lines.add(w.adr);
                 memo3.lines.add(w.bed);
                 end;
                   CloseFile(f);  

            end;  
      end;
          closefile(ft);
 end;
только добавил чтоб работало при открытии, по нормальному это всё надо стереть и переписывать заново.

Совет, читайте учебную литературу, хватит копипастить.

Последний раз редактировалось vovk; 18.01.2011 в 18:01.
vovk вне форума Ответить с цитированием
Старый 18.01.2011, 18:00   #14
Uroboros
Пользователь
 
Регистрация: 17.01.2011
Сообщений: 12
По умолчанию

Спасибо большое, vovk.
Сейчас проверю, и да я делал это на основе старых исходников, которым наверное года два, еще раз спасибо
Uroboros вне форума Ответить с цитированием
Старый 18.01.2011, 20:41   #15
Uroboros
Пользователь
 
Регистрация: 17.01.2011
Сообщений: 12
По умолчанию

vovk, а одним глазком не глянешь в чем проблемма сохранения(сохраняет загрузочный текст, а не с мемо)? или может подскажешь где можно почитать, а то весь инет облазил, а пользы ...
Вот переделанная программа с примером:
Вложения
Тип файла: rar 4.rar (12.7 Кб, 5 просмотров)
Uroboros вне форума Ответить с цитированием
Старый 18.01.2011, 21:21   #16
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Таки весь облазил?
вот тут много чего почитать и работа с файлами обычно в первых главах.
http://www.programmersforum.ru/showthread.php?t=14054
Код:
procedure TForm1.Button4Click(Sender: TObject);
var
i:Integer;
str_:string;
begin
  SaveDialog1.Title:='Сохранить в текстовом файле';
  SaveDialog1.DefaultExt:='.txt';
  if SaveDialog1.Execute then
      begin
    try
          fnamet:=SaveDialog1.FileName;
          AssignFile(ft,fnamet);
          Rewrite(ft);
       Memo1.Lines.BeginUpdate;
       Memo2.Lines.BeginUpdate;
       Memo3.Lines.BeginUpdate;
       Memo1.WordWrap:=False;
       Memo2.WordWrap:=False;
       Memo3.WordWrap:=False;
           for I := 0 to Memo1.Lines.Count - 1 do  //тут тонкое место примем на веру что колличество строк одинаково для всех
            begin
              str_:=Memo1.Lines.Strings[i]+Memo2.Lines.Strings[i]+Memo3.Lines.Strings[i];
              writeln(ft,str_);
            end;
    finally
       closeFile(ft);
       Memo1.WordWrap:=True;
       Memo2.WordWrap:=True;
       Memo3.WordWrap:=True;
       Memo1.Lines.EndUpdate;
       Memo2.Lines.EndUpdate;
       Memo3.Lines.EndUpdate;
    end;
      end;
end;
vovk вне форума Ответить с цитированием
Старый 18.01.2011, 21:29   #17
Uroboros
Пользователь
 
Регистрация: 17.01.2011
Сообщений: 12
По умолчанию

Я сперва весь инет облазил, потом увидел полчаса назад, что вы сидите в этой теме и тоже ее начал читать, в итоге подобрал 5 ссылок, из них только одна на 55 мб оказалась рабочей+ в основном там программирование более высокого уровня.

НО, СПАСИБО ОГРОМНЕЙШЕЕ
Uroboros вне форума Ответить с цитированием
Старый 18.01.2011, 22:04   #18
Uroboros
Пользователь
 
Регистрация: 17.01.2011
Сообщений: 12
По умолчанию

И одно маленькое уточнение
не хватает памяти на обработку 100 тысяч строк, можно это как-то решить? отвечать в принципе не обязательно=)
Uroboros вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление в списке zhenya.ya Помощь студентам 0 07.06.2010 21:08
ЗАмена в списке meizy Помощь студентам 2 03.06.2010 22:31
Поиск в односвязном списке DOJ Общие вопросы C/C++ 6 04.10.2009 13:34
поиск IP в списке TaTT DoGG PHP 6 13.08.2008 18:53