Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Oleg Plotnikov                       2:5011/111     21 Apr 2002  21:59:10
 To : All
 Subject : Hе догоняю я чо-то, вроде ж всё правильно...
 -------------------------------------------------------------------------------- 
 
 
  Ребят, вот тут писал значит писал скрипт, сделал подфункцию такую, для
 редактирования текстового файла с резульатами теста:
 
 100||||Тест по алгебре за 11 класс|Воскресенье, Апрель 21, 2002 время 20:53
 80||||Тест по алгебре за 11 класс|Среда, Апрель 25, 2002 время 13:33
 
 ^^
 Это кол-во
 набранных баллоы
 
  Там где идёт подряд |||| между прямыми этими слэщами записываются ещё
 параметры: имя, фамилия и т.д. это неважно... это я так чтобы более ясно было.
 
  Очень прошу помочь, т.к. я всё уже по три раза переписывал, что-то не выходит
 редактировать файлик :(
 
 Ошибку вроде не выдаёт, всё ок компилится мои 200 кило скрипта дай бог... HО
 почему-то изменения в файл не вносятся при вызове данной функции, посмотрите
 плиз, может я просто что-то не замечаю да и глупую ошибку не вижу... если что
 ткните пальцем где я не прав, итак вот эта подфункция:
 sub edit_results {
 
 $quiz = $data{'Quiz'};
 $oldline = $data{'Old'};
 $fa2 = $data{'FA2'};
 
  if($fa2 ne "Edit Now"){
    print "$header
      <center><font face=\"Tahoma\" size=2><strong>Редактирование результатов
 тестов</strong></font></center>
      <br>
      <center>
      <font face=\"Tahoma\" size=2>
      Выберите поле для редактирования, внесите в него необходимые изменения
          и нажмите \"Редактировать результаты\" </font>
      $admformtop
      <table border=1 cellpadding=0 cellspacing=0 bordercolor=\"#000000\">
      <tr><th><font face=\"Tahoma\" size=2>Hабранный балл</font></th><th><font
 face=\"Tahoma\" size=2>Имя тестируемого</font></th><th><font face=\"Tahoma\"
 
 size=2>Пароль</font></th><th><font face=\"Tahoma\" size=2>Личный
 size=2>код/E-mail</font></th>
 
          <th><font face=\"Tahoma\" size=2>Hазвание теста</font></th><th><font
 face=\"Tahoma\" size=2>Дата тестирования</font></th>
      </tr><tr> ";
     foreach $old (split(/\|/, $oldline)){
        $i++;
        $len = length($old) + 1;
 
        if($len > 25){ $len = 25;}
 
        print "<td align=center><input type=text name=$i size=$len
 value=\"$old\"></td>";
 
        }
     print "</tr></table><br>
        <input type=hidden name=Quiz value=\"$data{'Quiz'}\">
        <input type=hidden name=Old value=\"$data{'Old'}\">
        <input type=hidden name=FA2 value=\"Edit Now\">
        <input type=submit name=FA value=\"Редактировать результаты\">
        </form>
        $footer </center>";
     exit();
 
  } # end if
  $quiz =~ s/\W+//g; $quiz =~ tr/[A-Z]/[a-z]/;
  $quizfile = "$basedir/$quiz/results.data";
  $newline = "$data{'1'}|$data{'2'}|$data{'3'}|$data{'4'}|";
  $newline .= "$data{'5'}|$data{'6'}|$data{'7'}\n";
  open(FILE, "+<$quizfile") || &debug("Hе могу открыть $quizfile для
 чтения/записи: $!");
 
     if($opsys eq "unix"){ flock(FILE, 2); }
     else { binmode(FILE); }
 
  @lines = <FILE>;
  foreach $line (@lines){
     if($line ne $oldline){
        $newfile .= $line;
        }
     else {
        $newfile .= "$newline";
        }
     }
  truncate(FILE, length($newfile));
  seek(FILE,0,0);
  print FILE $newfile;
  close(FILE);
  $data{'FA2'} = "View";
  &view_results;
 
 }
 ю Усё, ухожу! Счастливо!                         21 Апр 02 21:59
 --- Contact e-mail: bpilots@ufacom.ru
  * Origin: Linux-Mandrake RE User (IPLabs) (2:5011/111)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Hе догоняю я чо-то, вроде ж всё правильно...   Oleg Plotnikov   21 Apr 2002 21:59:10 
Архивное /ru.perl/133213cc2e4fa.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional