ještě doplním že návod ze sitepointu právě zkouším a vypadá to celkem slibně stěžuje si to jen na fonty ale do už nebude snad tak špatné.
Příspěvky odeslané z IP adresy 89.233.145.–
no proto že technicky jde o volani statickeho interpreta php ktery uz existuje (a ma zakompilovany std. knihovny a s tim uz nehnu), z jineho jazyka nez je php predodim mu prave jeden (vygenerovany) "soubor" (po stdin). Tato hotova reseni vyzaduji dodatecne knihovny coz by pro mne znamenalo takovy projekt vzit upravit a includovat k memu programu a cele jako jeden program spustit. Tedy mnohonasobne vic. mPDF nebo FPDF by se mi libilo ale bohuzel jsem omezen na pdflib.
Nevyzadoval jsem aby to nekdo neco psal za mne, napisu si to sam, ale proste po nekolika hodinach jsem skoncil s tim ze vetsina tutorialu pouziva ruznou smes dnes deprecated funkci. Nic vic nic min. :)
zkoušim pomoci PDFlib vyrobit PDFko ale narážím na to že tato knihovna prodělala nějaké radikalní změny a zatím žádný tutoriál nebyl funkční, stejně tak dokumentace se hemží odkazy poznámkami o "deprecated" funkcích.
Nepotřebuju žádnou velkou světobornost. jeden jpg obrázek, oddělovací čáru a text :)
Dobře, budeme slovíčkařit, řešit zda MX je MS tamto jsem psal narychlo při hodině. Uznavam že výraz c+1=a+b skutečně nejde je zvláštní že nyní ani c==a+ba nejde je špatně. Nevysvětluje to ale to co řeším primárně, a tím je proč Console.WriteLine(c=a+b); je 5 a proc to vubec funguje.
nervak napsal:
Jestli "MX C# 2010 express" znamená "MS Visual C# 2010 Express", tak to při spouštění programu po jeho neúspěšném buildu nabízí spuštění poslední úspěšně zbuildované verze (s možností dotaz dále nezobrazovat). A to je podle mě to, co se u tebe děje. Jiné vysvětlení pro to nemám a dál to řešit nebudu. A ten výklad poslouchej, znáš kulový.
Je videt ze tvuj nick te zcela vystihuje. Bohužel nemohu s tebou souhlasit a to ani když jsi přesvědčen že vím kulový.
Tento program LZE přeložit a spustit a dělá přesně co jsem řekl. Neověřené diskuse na téma že je to blbost apod. si prosím nechte na večer do hospody.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
int a, b, c;
a = 2;
b = 3;
Console.WriteLine(c=a+b);
Console.ReadKey();
}
}
}
A MX opravdu znamenalo MS Visual Studio C# express. Doplním že bulid je 10.0.30319
To zdenda :
Děkuji to pomohlo raketově.
Ostatním také děkuji chápu že řešení není zcela ideální ale je to jediné řešení.
To z_moravec : k čemu by byl ten druhý server ? v době importu se nic jiného neděje protože se čeká na data. Dál doba zkopírování by mi úplně stačila....
porad nic ?
ahoj resim obnovu dat z sql zalohy,
potrebuji co nejrychleji obnovit data z sql zalohy zaloha ma asi 900mb a jeji obnova trva znacne dlouho. vzhledem k tomu ze se to dela kazdej den tak by se mi to celkem hodilo. zatim to delam takto:
mysql -u data <<!
drop database data;
create database data;
commit;
set autocommit=0;
\. /tmp/data.sql
commit;
quit
!
je to znacne pomale neni nejaky inteligentnejsi zpusob jak to delat ? (zdrojovy system pri tvorbe zalohy nesmi byt pozastaven takze nejake kopirovani souboru databaze nepripada v uvahu)
To Mircosoft :
to mate pravdu ta fukce by mela vypadat takto, jinak jsem se dival na 0 to u sebe skutecne testuji, jen jak jsem to psal z hlavy jsem si na to nevzpomel.
var kl:word;
begin
kl:=0;
if keypressed then
begin
delay(brzda);
kl:=ord(readkey);
delay(brzda);
if keypressed and (kl=0) then
begin
delay(brzda);
kl:=ord(readkey)+256;
delay(brzda);
end
end;
delay(brzda);
kbd:=kl;
end;
delay(brzda); zde slouzi jako simulace "narocneho" programu.
To Mircosoft :
no zaprve ta funkce ma vypadat takto (mam tam chybu)
a za druhe je to koncepcne dobre:
function kbd:word;
var kl:word;
begin
kl:=0;
if keypressed then
begin
kl:=ord(readkey);
if keypressed then
kl:=ord(readkey)+256;
end;
kbd:=kl;
end;
protoze: funkcni klavesy (F1, sipky atd) maji 9 bitů jenze my z bufferu cteme po jednom byte no a maximalni velikost jednoho byte je 255 (FF) no a pokud je hodnota vyssi tak nejdriv dostaneme hodnotu toho 9 bitu (256) a v zapeti ten zbytek no a to ze tam jeste neco je pozname pomoci readkey. vyzkousejte si to funguje to dobre. pokud klavesu drzim klavesnicovy buffer dela mezu znaky rozestupy takze nedojde k chybne interpretace pokud drzim stale jednu klavesu. pouzivam uz tak 10 let :D
to je mi taky divny ale find[1] na pozici 1 je B a hledany retezec predany funkci do FIND je RAINBOF.. Jedine ze by debuger kecal.
edit:
takze skutecne ano. bylo to tim ze jsem cetl z pozice 0, zajimave ze v prikladu
var x: string;
begin
writeln(x[0]);
end.
a pri ladeni mi to i ted ukazuje spatne udaje. rika ze find[slovo] ='A' ale pritom je to R
mi to hned vylitne na error.. neni to chyba jazyka ??? zalozim na to jine vlakno.
Tato funkce cte klavesu ale nezastavi beh programu a jeste pozna specialni klavesy.
uses crt;
function kbd:integer;
var kl:word;
begin
kl:=0;
if keypressed then
begin
kl:=ord(readkey);
if keypressed then kl:=256+ord(kl);
end;
kbd:=kl;
end;
a tady maly priklad
var klavesa: word;
Begin
repeat
klavesa:=kbd;
if kl<>0 then {ve chvili kdy neco zmacknes}
begin
Write('Stisknul jsi klavesu cislo:',kl);
if kl<256 then writeln(' = "',chr(kl),'"')
else writeln;
end;
until klavesa=27;
end.
tak snad jsem v tom neudelal chybku...
mám funkci která slouží k hledání v poli znaků, při ladění jsem narazil na to že přesto že se dvě hodnoty rovnají, podmínka je vyhodnotí jako nestejné.
jde konkrétně o find[slovo]=buffer[data+slovo]
Zde je ta fuknkce, znak » v programu naznacuje misto kde momentalne stoji debugger.
buffer: array[0..1024*128] of char;
kde na od 4 mista je napis 'R','A','I','N','B','O','F'
Function TRaw_file.search(find:string;pos:longint=0):longint; {prohleda soubor
var data,slovo,score: longint; //data pozice v datech, slovo pozice ve slove
begin
read_Block(size); //pokus nacpat celej soubor do pameti
search:=0;
score:=0;
for data:=pos to (size-length(find)) do {!}{v pripade vetsich dat se bude mus
begin {-> prochazeni bufferem}
slovo:=0;
repeat
if find[slovo]=buffer[data+slovo] then {pozice v datech + pozice ve slove}
begin
score:=score+1;
end
» else score:=0;
inc(slovo);
until (score=0) or (data+slovo=size); {pokud nesouhlasi hledane slovo nebo
if score=length(find) then begin
search:=data;
break;
end;
score:=0;
end; {<- prochazeni bufferem }
end;
....
Watches
size = 20157
»find[slovo] = 82 'R'
data = 3
»slovo = 0
»buffer[data+slovo] = 82 'R'
score = 0
Nepomohlo ani porovnavani jako ordninalni hodnoy.