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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2012, 17:39   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Почему не узнаешь? В обоих способах выгрузки отлично видно где пустая ячейка, а где заполненная
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.03.2012, 17:48   #12
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Может я не до конца понял, но:
Код:
procedure Parse(const AContent: TStrings; const AResult: TStrings);
var
  Headers, Columns: TStringList;
  Kind, DayOfWeek, Time: String;
  X: Integer;
begin
  Headers := TStringList.Create;
  Columns := TStringList.Create;
  try
    Tokenize(AContent[0], #9, Headers);
    DayOfWeek := '';
    Time := '';

    for X := 1 to AContent.Count - 1 do
    begin
      Tokenize(AContent[X], #9, Columns);

      Kind := Trim(Columns[0]);
      if Columns[0] = '' then
        Time := Columns[1]
      else
      if Columns[0] <> '"' then
      begin
        DayOfWeek := Columns[0];
        Time := Columns[1];
      end;

      // тут:
      // DayOfWeek - день недели
      // Time - время
      // Columns[2..Columns.Count - 1] - значения строки

      // делай с ними, что хочешь
      // я для примера просто выпишу в Memo
      AResult.Add(Format('%s %s: %s', [DayOfWeek, Time, Copy(Columns[2], 2, MaxInt)]));
    end;
  finally
    FreeAndNil(Columns);
    FreeAndNil(Headers);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Content: TStringList;
begin
  Content := TStringList.Create;
  try
    Content.LoadFromFile('D:\1.txt');
    Parse(Content, Memo1.Lines);
  finally
    FreeAndNil(Content);
  end;
end;
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 18.03.2012, 17:49   #13
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Это разовая работа?

Просто если надо просто файл конвертировать, то это действительно проще сделать через Excel. При импорте txt нужно отключить " в качестве символа кавычек.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 18.03.2012, 18:21   #14
AlexKhol
Пользователь
 
Регистрация: 04.02.2012
Сообщений: 15
По умолчанию

Нет,это нужно будет делать каждый раз при смене расписания.Xml нужен для мобильной версии сайта.
AlexKhol вне форума Ответить с цитированием
Старый 18.03.2012, 18:29   #15
AlexKhol
Пользователь
 
Регистрация: 04.02.2012
Сообщений: 15
По умолчанию

Выдает ошибку. "List index out of bounds(2)"
AlexKhol вне форума Ответить с цитированием
Старый 18.03.2012, 18:31   #16
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Конечно выдаёт. Это же пример. А в файле у тебя пустые строки. Ты голову не пробовал включать, а не бездумно копировать? Для кого я в тексте писал комментарии?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 18.03.2012, 18:33   #17
AlexKhol
Пользователь
 
Регистрация: 04.02.2012
Сообщений: 15
По умолчанию

точно,сглупил.спасибо большое!
AlexKhol вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как разделить textbox1.text (с разделителями ;) по частям? Aqil_f Microsoft Office Excel 13 13.12.2017 18:03
Дерево(строка) из массива строк с разделителями Lorenzo_M Помощь студентам 0 08.12.2011 04:40
Работа с различными разделителями (вставка и удаление) tissot Microsoft Office Excel 4 13.10.2010 06:03
помогите пожалуйста, задача с табуляцией, ошибка деление на 0.. как её убрать? Валюшка Помощь студентам 3 20.01.2009 21:01
PCHAR строка с разделителями #13#10. Как вычленить отдельные "подстроки" EdNovice Общие вопросы Delphi 1 17.04.2007 11:42