Jeżeli chcesz komentować kliknij na tytuł artykułu, wyświetli się tylko ten artykuł z możliwością komentowania.

czwartek, 11 czerwca 2020

Skrypty PHP, trzy skrypty obróbki danych...

Skrypt ten służy do segregacji wierszy utworzonych w panelu prognoz.
W polu zakłady są wygenerowane prognozy w wyniku działania skryptu okresy gorące i zimne są pogrupowane w dwa bloki. Ułatwia to ich przenoszenie i dalszą obróbkę.

<?php
/*
Skrypt pomocniczy do segregacji liczb z panela prognoz...
Włącz panel prognozmenu Plik-> Paski narzędzi -> Panel Prognoz
w opcjach panelu zaznacz w polu zakłady i zaznacz AmsMode
wykonaj prognozę klawiszem Red lub Blue
Wyswietlą sie prognozy z zadanego okresu ze sprawdzeniem trafień
Uruchom skrypt PHP
skrypt rozdzieli okresy zimne i gorace, pogrupuje i wyswietli w polu wyniki
z pomocą zaznaczenia i kopiowania kolumnami
trzymając jednoczesnie klawisze ctrl+alt strzałkami zaznacz
blok liczb bez dad i nawiasów do skopiowania i dalszej obróbki.
*/

require_once("include/class_Utils.php");
$sets=delphi_str_memoa();
$lines=preg_split("'\r?\n'",trim($sets));
$red="";
$blue="";
foreach($lines as $line) {
     $l=trim($line);
     if ($l[0]=="{") $red.=$line."\n";
     if ($l[0]=="~") $blue.=$line."\n";
     }
echo "hot:\n$red\n";
echo "cold:\n$blue\n";
?>


drugi skrypt to skrypt sprawdzajacy zestawy umieszczone w polu zakłady z zestawem umieszczonym w polu "losowania" skrypt wypisuje linie trafione i grupuje trafieniami.

<?php
// ilosc trafien zestawu z pola edycji w zestaw z pola zaklady
// wyswietlane sa  trafienia sortowane opadajaco od najwyzszych
// do najnizszych i linie trafien
// hit 6 linie: 1 12 36
// hit 5 linie: 4  9 44
// ...
// hit 0 linie: 2  8 32 65
error_reporting(E_ALL);
require_once("include/class_Utils.php");

$sets=delphi_str_memoa();
$arrlines = Utils::parse_str_to_set_array($sets);

$mtable = preg_split("'[^0-9]+'", trim($mainedit));


$out=array();
foreach($arrlines as $nbrline=>$linearr) {
    $ht= count(array_intersect($linearr,$mtable));
    $out[$ht][]=$nbrline+1;
}
krsort($out);
foreach($out as $ht=>$line) {
echo sprintf("hit %2d line: %s\n",$ht,Utils::printTicket($line,'%3d '));
} ?>

Skrypt wybiera z z lewego pola te zaklady ktore ktorych numer linii jest w zmiennej $list = "2,7,11,21,26" pamietaj ze lista musi sie zawierac w apostrofach ""

<?php
/*
    Skrypt wybiera z z lewego pola te zaklady
    ktore ktorych numer linii jest w zmiennej
    $list = "2,7,11,21,26"
    pamietaj ze lista musi sie zawierac w apostrofach ""
*/

error_reporting(E_ALL);
require_once("include/class_Utils.php");

// parametr zmieniany przez uzytkownika
$list = "2,7,11,21,26"; // wybiera trafienia wieksze lub rowne niz
// parametr zmieniany przez uzytkownika - koniec

$sets=delphi_str_memoa();
$lmatrix = Utils::parse_str_to_set_array($sets);
$line = Utils::parseLineToNumArr($list);

foreach($line as $num) {
    echo Utils::printTicket($lmatrix[$num-1]),"\n";
}
?>