Скрипты: Пример работы с CSV файлом, как с таблицей - страница 2

 
i_logic:
Во, а чё, даже такие коды можно здесь публиковать? O_o

1) Это пример работы, который я не видел ни в документации ни в CodeBase

2) Неужели нормальным кодом считается раскрашивание уже опубликованного кода или спаривание двух-трех машек с разным усреднением и оптять же клонирование их на основе добавления расскраски? Я пострался принести идею, а не готовое решение, которое по эффективности в торговле так же бесполезно как и половина здесь опубликованных решений

 
lazarev-d-m:
Это сравнивая со мной, или это как факт?)))

это вообще про наполнение котобазы.

я то подумал (каюсь грешен), что вы реально сделали библиотеку по чтению табличных файлов и класс работы с табличными данными. Чтение/Вставка строк/удаление ячеек и т.д.

Но когда нажал кнопочку "просмотр кода" - то долго искал куда задавать ваш описанный нюанс  "необходимость знать кол-во столбцов."
После минутного втыкания в код понял, что мое сознание слишком узко мыслит для понимания этого, как можно публиковать такие начинания.

 
sergeev:

это вообще про наполнение котобазы.

я то подумал (каюсь грешен), что вы реально сделали библиотеку по чтению табличных файлов и класс работы с табличными данными. Чтение/Вставка строк/удаление ячеек и т.д.

Но когда нажал кнопочку "просмотр кода" - то долго искал куда задавать ваш описанный нюанс  "необходимость знать кол-во столбцов."
После минутного втыкания в код понял, что мое сознание слишком узко мыслит для понимания этого, как можно публиковать такие начинания.

Ок, теперь критику понял полностью и аргументированно, исправим
 
lazarev-d-m:

1) Это пример работы, который я не видел ни в документации ни в CodeBase

2) Неужели нормальным кодом считается раскрашивание уже опубликованного кода или спаривание двух-трех машек с разным усреднением и оптять же клонирование их на основе добавления расскраски? Я пострался принести идею, а не готовое решение, которое по эффективности в торговле так же бесполезно как и половина здесь опубликованных решений

1. У вас плохой пример работы.  Вы же должны отдавать себе отчет, что ваш код будут смотреть тысячи новичков, и что ваш пример будет учить их правильности кода. А вместо этого имеем -

2. Нет ни одной проверки на ошибки. Нет проверки, что файл может кончиться, так и не прочитав нужное поле. Нет проверки на чтение строки до конца лишних столбцов. Ни одного захудалой строчки комментария что и зачем делается.

И дело не в раскрашивании кода.
Ценным код может быть вообще без никакого вывода на чарт - просто как набор важных и полезных функций.

Вобщем, я до сих пор удивлен, как могла администрация пропустить его.

PS

input int nCol=4; // Число столбцов в файле

void OnStart()
{
  string column[]; ArrayResize(column, nCol); 
  int filehandle=FileOpen("News.csv",FILE_READ|FILE_CSV|FILE_ANSI,';'); if (h<=0) return; // открываем файл данных
  for (int i=0; i<nCol; i++) // читаем первую строку
  {
    column[i]=FileReadString(filehandle);
    Alert("column",i,"=",column[i]);
  }
  // проходим по всем строкам и читаем до тех пор, пока в последнем столбце не получим значение ячейки "true"
  while(column[nCol-1]!="true" && !FileIsEnding(h))
    for (int i=0; i<nCol; i++) column[i]=FileReadString(filehandle); 

  if (column[nCol-1]=="true") Alert("Искомое находится в ",column[0],"-й строчке"); else Alert("Искомое не найдено");
  
  FileClose(filehandle);
}


 
sergeev:

1. У вас плохой пример работы.  Вы же должны отдавать себе отчет, что ваш код будут смотреть тысячи новичков, и что ваш пример будет учить их правиьлности кода. А вместо этого имеем -

2. Нет ни одной проверки на ошибки. Нет проверки, что файл может кончится так и не прочитав нужное поле. Нет проверки на чтение строки до конца лишни столбцов. Ни одного захудалой строчки коментария что и зачем делается.

И дело не в раскрашивании кода.
Ценным код может быть вообще без никакого вывода на чарт - просто как набор важных и полезных функций.

Вобщем, я до сих пор удивлен, как могла администрация пропустить его.

PS

Буду стараться, учту ошибки во всем, это первый опыт, с первого раза GODZILLой не станешь)))
 
sergeev:
Айяяй -- одно из первых правил -- захватываем ресурс -- тут же пишем код для его освобождения. FileClose не хватает.
 
lazarev-d-m: ...с первого раза GODZILLой не станешь)))

 Судя по всему, Вы так  и не поняли, почему Вам присвоили уровень G-80.

Это же полный пипец:

input string nCol=4; // Число столбцов в файле

void OnStart()
{
  ....ArrayResize(column, nCol); 
  for (int i=0; i<nCol; i++) // читаем первую строку
  {

 

 
TheXpert:
Айяяй -- одно из первых правил -- захватываем ресурс -- тут же пишем код для его освобождения. FileClose не хватает.

стопудоф.

там еще ошибки есть.

наспех пишу.

 
Yedelkin:

Это же полный пипец:

Где пипец?
 
TheXpert:  Где пипец?
 Полный пипец, причём. Вы код читать умеете, или как?