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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux

Модерирует : gyra, Maz

Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

vladvro



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

SciTEIO.cxx  строка 1026
Код:
class FileReader {
  BufferedFile *bf;
  int lineNum;
  bool lastWasCR;
  enum {bufLen = 1000};
//!-start-[FileReaderbufLen]
  char buf[bufLen+1];
  SString lineToCompare;
  SString lineToShow;
//!-end-[FileReaderbufLen]
  bool caseSensitive;
public:
 
  FileReader(FilePath fPath, bool caseSensitive_) {
    bf = new BufferedFile(fPath);
    lineNum = 0;
    lastWasCR = false;
    caseSensitive = caseSensitive_;
  }
  ~FileReader() {
    delete bf;
    bf = NULL;
  }
  const char *Next() { //!-change-[FileReaderbufLen]
    if (bf->Exhausted()) {
      return NULL;
    }
//!-start-[FileReaderbufLen]
    lineToCompare.clear();
    lineToShow.clear();
//!-end-[FileReaderbufLen]
    int i = 0;
    while (!bf->Exhausted()) {
      int ch = bf->NextByte();
      if (i == 0 && lastWasCR && ch == '\n') {
        lastWasCR = false;
        ch = 0;
      } else if (ch == '\r' || ch == '\n') {
        lastWasCR = ch == '\r';
        break;
//!-start-[FileReaderbufLen]
      } else {
        buf[i++] = static_cast<char>(ch);
        if (i == bufLen) {
          buf[i] = '\0';
          lineToShow += buf;
          i = 0;
        }
      }
    }
    buf[i] = '\0';
    lineToShow += buf;
//!-end-[FileReaderbufLen]
    lineNum++;
/*
   strcpy(lineToCompare, lineToShow);
   if (!caseSensitive) {
     for (int j = 0; j < i; j++) {
       if (lineToCompare[j] >= 'A' && lineToCompare[j] <= 'Z') {
         lineToCompare[j] = static_cast<char>(lineToCompare[j] - 'A' + 'a');
       }
     }
   }
   return lineToCompare;
*/
//!-start-[FileReaderbufLen]
    lineToCompare = lineToShow;
    if (!caseSensitive) {
      lineToCompare.lowercase();
    }
    return lineToCompare.c_str();
//!-end-[FileReaderbufLen]
  }
  int LineNumber() {
    return lineNum;
  }
  const char *Original() { //!-change-[FileReaderbufLen]
    return lineToShow.c_str(); //!-change-[FileReaderbufLen]
  }
Данный код внедрен в форум с помощью скрипта vladvro
 
SciTEIO.cxx  строка 1125
Код:
      if ((gf & grepBinary) || !fr.BufferContainsNull()) {
        while (const char *line = fr.Next()) { //!-change-[FileReaderbufLen]
          char *match = strstr(line, searchString);
          if (match) {
            if (gf & grepWholeWord) {
              const char *lineEnd = line + strlen(line); //!-change-[FileReaderbufLen]
Данный код внедрен в форум с помощью скрипта vladvro

Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 16:12 25-05-2007 | Исправлено: vladvro, 16:35 26-05-2007
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux
Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru