#!/bin/perl my $jmjsdir_050322 = "C:/fcdes/bin"; require "$jmjsdir_050322/jmjsdes_050322.pm"; require "$jmjsdir_050322/jmjsdb_050322.pm"; require "$jmjsdir_050322/jmjsidx_050322.pm"; require "$jmjsdir_050322/jmjspro_050322.pm"; require "$jmjsdir_050322/jmjstail_050322.pm"; package main; print "ID:"; my $jmjsid =; chop($jmjsid); print "TempPass:"; my $jmjstpass =; chop($jmjstpass); system("cls"); &JMJSIDX::init(); &JMJSDES::init(); if(-f "index.pro") { &JMJSIDX::idx_read(&JMJSDES::jfile_read($jmjsid,$jmjstpass,"index.pro")); } else { print "index.pro not exist.\n";} my $pagec = 1; my $pagen = 2; my $pageb = 1; my $inkey = "a"; do { $inkey =~ s/\n//g; @inkeys = split(/[\s]+/,$inkey); if($inkey =~ /^[\s]*$/i) { } elsif($inkey =~ /^[0-9]+[\s]+/) { &db_edit($inkey); } elsif($inkey =~ /^[0-9]+$/) { &db_edit("$inkey vi"); } elsif($inkey =~ /^b/i) { $pagec --; } elsif($inkey =~ /^go/i) { $pagec = $inkeys[1]; } elsif($inkey =~ /^n/i) { $pagec ++; } if($pagec < 1) { $pagec = 1;} if($pagec > $pagem) { $pagec = $pagem;} (my $tline,$pagec,$pagem,my @idxlines)= &JMJSIDX::page_lines(20,$pagec); system("cls"); printf("[JManager Total %2d]===============================================[page %2d/%2d]\n",$tline,$pagec,$pagem); for(my $i=0;$i<20;$i++) { @items=split(/\|/,$idxlines[$i]); printf("%3d(%1d)",$items[0],$items[1]); printf("%-50s",&nstring($items[2],50)); printf("-%10s",&nstring($items[3],10)); printf("[%-8s]",&nstring(&get_time_s($items[4]),8)); printf("%2d\n",$items[5]); } print " ------------------------------------------------------------------------------\n"; print "> "; $inkey=; } while ($inkey !~ /^exit/i); print "exit!\n"; sub db_edit { my ($afile) = @_; my ($afile,$acom) = split(/[\s]+/,$afile,2); my @dblines = &JMJSDES::jfile_read($jmjsid,$jmjstpass,"$afile.pro"); open(DB,">temp.pro"); print DB join("",@dblines); close(DB); system("$acom temp.pro"); open(DB,"temp.pro"); my @dblines2=; close(DB); system("del /q temp.pro"); my $flag = 0; for($i=0;($i<=$#dblines);$i++) { if($dblines[$i] ne $dblines2[$i]) { print "<$dblines[$i]"; print ">$dblines2[$i]"; $flag = 1; } } if($flag) { print "Do you want to save ?(Y/n)"; my $flag =; } } sub nstring { my ($aline,$chrnum) = @_; my @chrs = split('',$aline); my $i=0; for($i=0;$i<$chrnum;$i++) { push(@chrs," ");} for($i=0;ord($chrs[$chrnum -1 - $i]) > 127; $i++) { } if(($i % 2) > 0) { $chrs[$chrnum -1] = "~";} $aline = join('',@chrs[0..($chrnum - 1)]); $aline; } sub get_time_s { my ($tnum)=@_; my $ctime = time; my ($xs,$xm,$xh,$xdd,$xmm,$xyy,$xwd,$xyd,$xisdst) = localtime($tnum); $xmm++; if($xyy > 99) {$xyy -=100;} if(($ctime - $tnum) < 8640) { $tnum = sprintf("%02d:%02d:%02d",$xh,$xm,$xs); } else { $tnum = sprintf("%02d.%2d.%2d",$xyy,$xmm,$xdd); } $tnum; }