Příklady C++: Porovnání verzí
Z K.A.P.
Skočit na navigaciSkočit na vyhledáváním (Nová stránka: ====Příklad 1==== int i; String s; { s = IniReadString("ScriptTest", 1, True, _AktualniSklad_, "5"); ShowMessage(Settings.Values["INI.FirmaJmeno"]+"\n"+Settings.Values["USER.J...) |
m |
||
(Nejsou zobrazeny 3 mezilehlé verze od 2 dalších uživatelů.) | |||
Řádek 1: | Řádek 1: | ||
− | ====Příklad 1==== | + | Příklady programů ve [[Skriptovací programovací jazyk|skriptovacím programovacím jazyku]] v jazyku C++. |
+ | |||
+ | ====Příklad 1 - práce s proměnnými uloženými do databáze==== | ||
int i; | int i; | ||
String s; | String s; | ||
Řádek 15: | Řádek 17: | ||
---- | ---- | ||
− | ==== | + | ====Příklad 2 - spuštění sestavy z generátoru sestav==== |
String s; | String s; | ||
TDateTime d1, d2; | TDateTime d1, d2; | ||
Řádek 35: | Řádek 37: | ||
---- | ---- | ||
− | ====Příklad 3==== | + | |
+ | ====Příklad 3 - odeslání mailu s přílohou pomocí SMTP==== | ||
String s; | String s; | ||
Řádek 49: | Řádek 52: | ||
---- | ---- | ||
− | ====Příklad 4==== | + | ====Příklad 4 - odeslání souboru pomocí MaximObjServeru==== |
TMOSCommunicator MOSCommunicator; | TMOSCommunicator MOSCommunicator; | ||
Řádek 62: | Řádek 65: | ||
---- | ---- | ||
− | ====Příklad 5==== | + | ====Příklad 5 - použití funkcí objektu TMOSCommunicator pro komunikaci s MaximObjServerem==== |
TMOSCommunicator MOSCommunicator; | TMOSCommunicator MOSCommunicator; | ||
String Info; | String Info; | ||
Řádek 101: | Řádek 104: | ||
---- | ---- | ||
− | ====Příklad 6==== | + | ====Příklad 6 - práce s TKAPBtrTable ve formuláři==== |
TKAPBtrTable t; | TKAPBtrTable t; | ||
TForm f; | TForm f; | ||
Řádek 133: | Řádek 136: | ||
---- | ---- | ||
− | ====Příklad 7==== | + | ====Příklad 7 - použití paměťové tabulky TKAPMemTable==== |
TKAPMemTable t; | TKAPMemTable t; | ||
TForm f; | TForm f; | ||
Řádek 149: | Řádek 152: | ||
t.FieldDefs.Add("E",ftTime,0, false); | t.FieldDefs.Add("E",ftTime,0, false); | ||
t.CreateTable(nil); | t.CreateTable(nil); | ||
− | // t.IndexFieldNames = "A;B"; | + | // t.IndexFieldNames = "A;B"; |
t.AddIndex("i1", "A;B",[ixCaseInsensitive]); // nesmi byt prazdna mnozina | t.AddIndex("i1", "A;B",[ixCaseInsensitive]); // nesmi byt prazdna mnozina | ||
t.IndexName = "i1"; | t.IndexName = "i1"; |
Aktuální verze z 15. 2. 2015, 14:44
Příklady programů ve skriptovacím programovacím jazyku v jazyku C++.
Obsah
- 1 Příklad 1 - práce s proměnnými uloženými do databáze
- 2 Příklad 2 - spuštění sestavy z generátoru sestav
- 3 Příklad 3 - odeslání mailu s přílohou pomocí SMTP
- 4 Příklad 4 - odeslání souboru pomocí MaximObjServeru
- 5 Příklad 5 - použití funkcí objektu TMOSCommunicator pro komunikaci s MaximObjServerem
- 6 Příklad 6 - práce s TKAPBtrTable ve formuláři
- 7 Příklad 7 - použití paměťové tabulky TKAPMemTable
Příklad 1 - práce s proměnnými uloženými do databáze
int i;
String s; {
s = IniReadString("ScriptTest", 1, True, _AktualniSklad_, "5"); ShowMessage(Settings.Values["INI.FirmaJmeno"]+"\n"+Settings.Values["USER.JmenoUziv"]+"\n"+_KonfigDir_); LogWrite("Direktivy:"+_Direktivy_); if (s != "") { i = StrToInt(s)+1;} else {i = -10;} if (!IniWriteInteger("ScriptTest", 1, True, _AktualniSklad_, i)) {ShowMessage("V IniWriteInteger se vyskytla chyba");}
}
Příklad 2 - spuštění sestavy z generátoru sestav
String s; TDateTime d1, d2; Word DD, MM, YY;
{
DecodeDate(Date, YY, MM, DD); if (MM==1) // Zjisteni predchoziho mesice { MM = 12; YY = YY - 1;} else { MM = MM - 1;} D1 = EncodeDate(YY, MM, 1); D2 = EncodeDate(YY, MM, DaysInMonth(YY, MM)); S = GSRunReport(6, 1, "KFG_Datum1="+StrDate(D1)+chr(13)+ "KFG_Datum="+StrDate(D2)+chr(13)+ "INI_Jmeno=Pokusný sklad"); //S = GSRunReportV(6, 1, ["KFG_Datum1", "KFG_Datum", "INI_Jmeno"],[StrDate(D1), StrDate(D2), "Pokusný sklad"]); ShowMessage(s);
}
Příklad 3 - odeslání mailu s přílohou pomocí SMTP
String s;
{ //From, SendTo, FileAttach, Subject, SMTPServer, SMTPSenderName, SMTPPassword, BodyString, ErrMessage
if (SendMailBySMTP("odesilatel@posta.cz", "prijemce@posta.com", "UZIV\\Sestava1.SES"+#9+"UZIV\\SESTAVA2.SES"+#13+"UZIV\\Doklad.pdf", "Test scriptu", "smtp.posta.cz", "SMTPjmeno", "SMTPheslo", "Testovaci email.\nKonec", s)) { ShowMessage("OK\n"+ s);} else { ShowMessage("CHYBA\n"+ s);}
}
Příklad 4 - odeslání souboru pomocí MaximObjServeru
TMOSCommunicator MOSCommunicator;
{
MOSCommunicator = TMOSCommunicator.Create("MOS.bin", "", "", "", 0); if (MOSCommunicator.SendFile("DIR\\DATA.xml", "DATA1.XML", "", "", "", True)) { LogWrite("Prenos OK");} else { LogWrite(MOSCommunicator.ErrMessage);} MOSCommunicator.Free;
}
Příklad 5 - použití funkcí objektu TMOSCommunicator pro komunikaci s MaximObjServerem
TMOSCommunicator MOSCommunicator; String Info; Float Velikost; TDateTime Cas;
{
MOSCommunicator = TMOSCommunicator.Create("", "192.168.17.1", "MOSuser", "MOSpswd", 1); try{ if (MOSCommunicator.Connect) { // pokud se poipojím, pak se vše realizuje // v rámci jednoho poipojení // ShowMessage('Pripojeno'); if (MOSCommunicator.Connected) { // test navic if (MOSCommunicator.SendSMS("111222333","Pokus o poslani SMS")) {ShowMessage("SMS odeslana.");} else {ShowMessage("Chyba pri odesilani SMS:" + #13+MOSCommunicator.ErrMessage);} if (MOSCommunicator.SendFile("DIR\\DATA.xml", "DATA1.XML", "", "", "", False)) { ShowMessage("Prenos OK"); if (MOSCommunicator.GetFileInfo("Sklad6DOC", "Stavy.xml", Info, Velikost, Cas)){ ShowMessage("GetFileInfo:"+#13 + Info+ #13 + FloatToStr(Velikost) + #13 + DateTimeToStr(Cas)); if (!MOSCommunicator.GetFile("DIR\\Stavy2.xml", "Stavy.xml", "Sklad6DOC")){ ShowMessage("GetFile:" + #13 + MOSCommunicator.ErrMessage);} } else { ShowMessage("GetFileInfo:" + #13 + MOSCommunicator.ErrMessage);} } else { ShowMessage("SendFile"+#13+MOSCommunicator.ErrMessage);} MOSCommunicator.Disconnect; } else {ShowMessage(MOSCommunicator.ErrMessage);} } else {ShowMessage(MOSCommunicator.ErrMessage);} }finally{ MOSCommunicator.Free; }
}
Příklad 6 - práce s TKAPBtrTable ve formuláři
TKAPBtrTable t; TForm f; TDBGrid DBGrid; TDataSource ds; {
ds = null; t = TKAPBtrTable.Create; try{ // try-finally cást není nutná, ale správne se takto reší problémové situace t.TableName = "CISELNIK.btr"; // jméno tabulky bez cesty t.IndexFieldNames = "TypCis;Klic1"; t.Open; f = TForm.Create(Application); try{ f.Caption = "Zobrazení " + t.TableName; f.Position = poDefault; DBGrid = TDBGrid.Create(f); // parametr urcuje vlastníka prvku DBGrid DBGrid.Parent = f; // Parent urcuje, na kterém formulári se má DBGrid zobrazit DBGrid.Align = alClient; // alClient znamená vyplnit celý formulár ds = TDataSource.Create(f); // TDataSource propojuje tabulku s vizuálními prvky pro editaci (DBGrid) DBGrid.DataSource = ds; ds.DataSet = t; f.ShowModal; // hlavní okno je treba vždy otevírat pomocí ShowModal }finally{ F.Free; // objekty, kterým byl urcen vlastník (DBGrid) se ruší automaticky } // pri rušení vlastníka (pri F.Free se ruší DBGrid i ds) }finally{ t.Free; // vytvorené objekty je treba zrušit }
}
Příklad 7 - použití paměťové tabulky TKAPMemTable
TKAPMemTable t; TForm f; TDBGrid DBGr; TDataSource ds; Integer MinA, x;
{
t = TKAPMemTable.Create; try{ t.FieldDefs.Add("A",ftInteger,0, false); t.FieldDefs.Add("B",ftString,30, false); t.FieldDefs.Add("C",ftfloat,0, false); t.FieldDefs.Add("D",ftDate,0, false); t.FieldDefs.Add("E",ftTime,0, false); t.CreateTable(nil); // t.IndexFieldNames = "A;B"; t.AddIndex("i1", "A;B",[ixCaseInsensitive]); // nesmi byt prazdna mnozina t.IndexName = "i1"; t.Open; t.Append; t.FieldByName("A").AsInteger = 5555; t.FieldByName("B").AsString = "TEST"; t.FieldByName("C").AsFloat = 10.5; t.Post; t.Append; t.FieldByName("A").AsInteger = 4444; t.FieldByName("D").AsDateTime = Date+1; t.Post; t.Append; t.FieldByName("A").AsInteger = 3333; t.Post; t.Append; t.FieldByName("A").AsInteger = 8888; t.Post; t.First; MinA = t.FieldByName("A").AsInteger; while(!t.EOF){ if (t.FieldByName("A").AsInteger < MinA) { MinA = t.FieldByName("A").AsInteger;} t.Next; } ShowMessage("Min: "+IntToStr(MinA)); f = TForm.Create(Application); try{ f.Caption = "Zobrazení MemTable"; f.Width = 1024; f.Height = 768; DBGr= TDBGrid.Create(f); DBGr.Parent = f; DBGr.Align = alClient; ds= TDataSource.Create(f); DBGr.DataSource =ds; ds.DataSet = t; f.ShowModal; }finally{ f.free; } }finally{ t.Free; }
}