| 
| 
 | Вопрос # 6 164/ вопрос открыт / | 
 |  Не могу разобраться как ввести ударников,чтобы  выдовало и отличников и ударников. К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) 
 Мини-форум вопросаВсего сообщений: 12; последнее сообщение — 31 мая 2012, 16:25; участников в обсуждении: 4. 
|   | min@y™ (статус: Доктор наук), 27 мая 2012, 19:08 [#1]:Может, всё-таки, перепишешь программу с нуля, по-нормальному, а? Второй раз скачал твоё художество. Ну почему твой RAR-архив не имеет расширения rar? Догадаться мне, конечно, несложно, но напрягает.
 Ещё раз повторяю: выкинь паскалевские функции ввода/вывода. Их проехали лет 15 назад уже. Есть TFileStream, TStringList и т.д. и т.п. Есть БД и XML...
 Что, учиться влом? Тогда бросай.
 Думаю, никто здесь не будет ковырять твой говнокод, так как у всех дети-жёны-дача-лето-работа. Вопросы надо задавать конкретно, например: "у меня есть вот это: [кусок кода строк на 15-20]. Я хотел, чтобы он делал [вот такую хрень], а он, почему-то делает [вот такую хрень]. Чо я делаю не так?".
 
 Сорри, ничего личного.
   Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Петинов Александр Николаевич (статус: Посетитель), 27 мая 2012, 21:16 [#2]:procedure TForm1.N8Click(Sender: TObject); var FS,NG:string[30];  i,m:integer;
 begin
 reset(f);
 Stringgrid2.RowCount:=2;
 i:=1;
 while not eof(f) do begin
 read(f,p);
 m:=5;
 if   (p.Mat=m) and (p.Rus=m) and (p.Fiz=m) and (p.Xim=m) and (p.Info=m)   then  begin
 with stringgrid2 do begin
 Cells[0,i]:=p.FS;
 Cells[1,i]:=p.NG;
 Cells[2,i]:=inttostr(p.Mat);
 Cells[3,i]:=inttostr(p.Rus);
 Cells[4,i]:=inttostr(p.Fiz);
 Cells[5,i]:=inttostr(p.Xim);
 Cells[6,i]:=inttostr(p.Info);
 rowcount:=rowcount+1;
 end;
 i:=i+1;
 end;
 end;
 closefile(f);
 end;
 я не могу убрать паскалевские функции так как нас другому не учили.
 А в отреке я не могу ввести чтобы выдовало пятерки,четверки,и то и другое одним запросом,я пробовал вместо m:=5 ввсети условие типо этого m>4,но ни че не получается
 |  
|   | min@y™ (статус: Доктор наук), 28 мая 2012, 08:13 [#3]: Цитата (Петинов Александр Николаевич): я не могу убрать паскалевские функции так как нас другому не учили. Представь себе, я вообще не на программиста учился, но уже 11 лет работаю на заводе именно программистом.
 А вообще, если программа ведёт себя неадекватно, воспользуйся отладчиком, пройди проблемный кусок по шагам и посмотри значения переменных.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Drinkenz (статус: 1-ый класс), 29 мая 2012, 18:14 [#4]:может множества использовать? 
 var m: set of byte=(2..5);
...
if (p.Mat in m) and (p.Rus in m) and (p.Fiz in m) and (p.Xim in m) and (p.Info in m) then begin |  
|   | min@y™ (статус: Доктор наук), 29 мая 2012, 19:02 [#5]: Цитата (Drinkenz): может множества использовать? И чо изменилось? условие if такое же длинное, как и было.
 З.Ы. Множества задаются в квадратных скобках.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 29 мая 2012, 21:47 [#6]: Цитата (min@y™): условие if такое же длинное, как и было Потому что нужно пересечение и проверка результата на пустое множество
  
 И чо за джихад против паскалевского I/O?
 виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | min@y™ (статус: Доктор наук), 29 мая 2012, 22:09 [#7]: Цитата (bugmenot): И чо за джихад против паскалевского I/O?  Ну, про джихад ты загнул... Просто, судя по задачам, где есть работа с файлами, эти функции сильно усложняют код. Ну нафига, если для бинарников есть TFileStream, а для текстовых - TStringList?
 
 Цитата (bugmenot): Потому что нужно пересечение и проверка результата на пустое множество  Да не, просто программа изначально спроектирована неправильно. Отсюда по цепочке вылезают всё новые и новые геморрои. Поэтому я и советовал выкинуть этот опус и написать с нуля по-человечески. Это ИМХО, конечно. Автор, если хочет, пусть мучается. Я бы на его месте придумал свой формат файла, но работал бы с содержимым исключительно в памяти. Ещё легче - заюзать XML, но, думаю, тупой препод не оценит такой перфоманс.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 30 мая 2012, 08:45 [#8]: Цитата (min@y™): эти функции сильно усложняют код 
 Цитата (min@y™): Я бы на его месте придумал свой формат файла Смотри:
 
 
 type MyRecord = packed record
  MyInteger: Integer;
  MyString : packed array[0..N-1] of Char;
  MyOther  : set of MyEnum;
end;
 
var MyFile: file of MyRecord; еще ни строчки исполняемого кода не написал, а формат уже кристально четко объявлен.
 
 
 Цитата (min@y™): но работал бы с содержимым исключительно в памяти Да пожалуйста,
 
 
 type TMyMemData: array of MyRecord; А TFileStream что может? Ничего, он просто аналог нетипизированного файла.
 виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | min@y™ (статус: Доктор наук), 30 мая 2012, 09:03 [#9]: Цитата (bugmenot): А TFileStream что может? Ничего, он просто аналог нетипизированного файла.  А как на счёт TStringList и XML?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 30 мая 2012, 11:08 [#10]: Цитата (min@y™): TStringList TStrings.LoadFromFile неоптимально использует память, неприменим для больших объемов данных.
 
 
 Цитата (min@y™): XML Тогда уж ClientDataSet, если внутри табличные данные...
 виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | min@y™ (статус: Доктор наук), 30 мая 2012, 13:07 [#11]: Цитата (bugmenot): TStrings.LoadFromFile неоптимально использует память, неприменим для больших объемов данных. Зато можно обращаться к строкам по индексу и прикручивать объекты.
 
 Цитата (bugmenot): Тогда уж ClientDataSet, если внутри табличные данные...  Ну, это надо БД городить. XML хорош как для табличных, так и для древовиднях данных. Причём с обратной совместимостью по изменениям формата.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 31 мая 2012, 16:25 [#12]: Цитата (min@y™): Зато можно обращаться к строкам по индексу и прикручивать объекты. А при моем подходе можно это делать сразу, без прикручивания. Да и в подходе с TStringList, как оказалось, строки не очень нужны...
 
 Цитата (min@y™): XML хорош как для табличных, так и для древовиднях данных У нас строго табличные, зачем предусматривать масштабируемость?
 Цитата (min@y™): Причём с обратной совместимостью по изменениям формата.  Здесь согласен.
 виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  20 июня 2012, 21:20: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Лабораторный практикум » Delphi модератором Ерёмин А.А. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |