Új hozzászólás Aktív témák
-
sadams
tag
Sziasztok!
Van jelenleg egy TCPListener - TCPClient alapú kliens-szerver alkalmazásom. Monitorozni szeretném a kommunikációt (konkrétan az üzeneteket, amit küldenek egymásnak), van valakinek ötlete erre?
-
martonx
veterán
igen az SSMS jellemzően arra való, hog query-ket futtassanak benne. És igen erre az Express Edition is tökéletesen megfelel, pláne, hogy 2012 SP1 óta az SSMS Express 100%-ban megkapta a fizetős SSMS-ek összes szolgáltatását (pl. profiler és még kismillió dolog).
Kódból persze, hogy bármilyen query-t tudsz futtatni. Ott az Express abban van lebutítva, hogy az EF-es, Dataset-es varázslóknál csak MSSQL-t enged használni, nem tudsz pl. Oracle-t, vagy MySql-t varászolni. Tisztán kódból, plusz kézzel megírva a connection stringeket természetesen megy az Expressből az Oracle, MySql, PostgreSql is.Én kérek elnézést!
-
fatal`
titán
válasz trisztan94 #4191 üzenetére
Vagy lefuttatod kódból aztán kitörlöd, vagy SQL management studioban. VS-ből így azt hiszem nem lehet sql-t futtatni, ha tévedek majd valaki kijavít.
-
-
trisztan94
őstag
Sziasztok!
ASP.Net mvc4
Visual Studion belül (2012 express for web) lehet adatbázis tábla definíciót változtatni? Egy nyamvadt e-mail kulcsot szeretnék hozzáadni a UserProfile táblához, de mindig menteni akarja a .sql fájlt. Van erre valami egyszerű megoldás?
felbsz..Szerk: hoppá, nem válaszolni akartam
[ Szerkesztve ]
https://heureka-kreativ.hu
-
-
amargo
addikt
válasz ferensz #4184 üzenetére
Nem egészen ott, de itt:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "News", action = "Index", id = UrlParameter.Optional }
);
}
}“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
ferensz
senior tag
válasz trisztan94 #4183 üzenetére
Ha jól tudom, akkor a Global.asax-ben kell átállítani valahogy így, de az okosabbak úgy is megmondják majd:
routes.MapRoute(
"Default", // Route neve
"{controller}/{action}",
new { controller = "NewsController", action = "Action neve(news, Index, ahogy elnevezted)" });"jah, mert a többi nyelvben a for nem for, hanem kapswagenschmetterling"
-
trisztan94
őstag
Sziasztok!
ASP.NET MVC 4-ben melyik a default Controller? Megváltoztattam a HomeController-t NewsController-é, így viszont a sima futtatáskor, tehát amikor /-re megy a request 404-et dob ki. Ha beírom, hogy /news akkor kidobja a News View-t. Alapból ez lenne a kezdőlap. Hogy tudom erre átálítani?Köszi!
https://heureka-kreativ.hu
-
lmaresz
aktív tag
válasz Peter Kiss #4179 üzenetére
Bocs tényleg nagyon nagyon kezdő vagyok... Nem mond semmit...
-
lmaresz
aktív tag
Sziasztok!
Kezdő programozó vagyok? tudtok abban segíteni hogy mi itt a hiba és mi a megoldása?
ha while ciklusban definiálok egy változót akkor nem látja a program többi része.
Válaszotokat előre is köszönöm! -
drkbl
őstag
Ezt elnézve egy byte[] a render visszatérési értéke. Ha ezt a byte tömböt valami normális bitmap formátumban kapnád, egy nem látható kép objektumba töltenéd, és azt nyomtatnád ki? Semmi fájlba írás, fájlból olvasás.
-
sztanozs
veterán
Tegyél ki egy progress bar message box-ot , ami ~ 10 mp alatt ér véget, alá íod, hogy "Feldolgozás alatt, várható befejezési idő 10..9..8..7.. .. mp" és ha elkészült akkor bezárod (vagy ha nem készült még el, akkor újraindítod). Így a júzerek is látják, hogy történik valami - mert ugye a felhasználónak csak az a lényeg, hogy lássa, hogy épp valami történik.
Én napi szinten több BO exportot is generálok, aminek az időtartama 30 - 60 mp között van. Ha nem volna kint a progress bar, én is zajonganék. Így viszont legalább tudom, hogy kb. mennyit kell várnom.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
NoMan
csendes tag
Hát igen nagyjából ez! Csak annyi hogy én ezt kiheréltem ki kicsit.
És, hogyan tudom én mindezt a memóriában végrehajtani? Mert tényleg nagyon zavaró ez a 5-7mp, amíg történik valami. Ezzel a programmal emberek dolgoznak és az én anyám szidjak, hogy mit tököl ez a sz...r program. Egyszóval közellenség vagyok, így ezt valahol meg kell oldanom.
Van valakinek ötlete?
-
drkbl
őstag
Ez tulajdonképpen ez a project? Gondolom, a másik program nem lerendereli a fájlrendszerbe a képeket, aztán elküldi őket egy fájlba irányított nyomtatóba. Lehet, össze kéne adnod a print preview + print időt, bár valószínűleg ott memóriában játszódik le minden
-
martonx
veterán
Sziasztok!
Keresek ASP.NET MVC-ző távmunkás bedolgozót. Beesett, és fog is még a napokban bejönni pár nagyobb munka. Per pillanat is van PH!-s távmunkásom, azt hiszem elég jó munkaadó vagyok, leszámítva, hogy a fizetés amit adni tudok inkább csak a diákokat, juniorokat vonzza.
Ha bárkinek felkeltettem az érdeklődését, privizzen rám.Én kérek elnézést!
-
drkbl
őstag
Elővettem egy régi alkalmazást, nálam ReportViewer 2008 + C# Express 2008 app + Sql Server CE 3.5 SP1 + rdlc dinamikusan fájlból betöltve USB HDD-ről futtatva 2+ futtatásra adattal együtt egy másodpercen belül van nyomtatási előképig.
Nyomtatásig nem tudom, mert Win7 alá felhekkelt régi HP-m van, ami nagyon lassan kezd nyomtatni.
Esetleg megnéznéd, előképig mennyi idő alatt jut el?
Sima Jegyzettömb-ből nyomtatás meddig vár?
-
NoMan
csendes tag
Akkor is legalább 3mp a render idő, ha csak egy label elem van az rdclen, amibe beleírtam egy szöveget. Tehát teljesen adatfüggetlen nyomtatási kép esetén is lassú a render idő.
Így hívom meg az osztályt:
LocalReport report = new LocalReport();
report.ReportEmbeddedResource = "<rdcl neve>.rdlc";
Report_DataSet dataSet = new Report_DataSet();
DataTable dataTable = dataSet.dataGridView_List;
DataRow dataRow = null;
foreach (DataGridViewRow row in dataGridViewProductList.Rows)
{
dataRow = dataTable.NewRow();
dataRow["productId"] = ((row.Cells["colProductId"].Value != null) ? row.Cells["colProductId"].Value.ToString() : "");
dataRow["productName"] = ((row.Cells["colProductName"].Value != null) ? row.Cells["colProductName"].Value.ToString() : "");
dataRow["productCount"] = ((row.Cells["colProductCount"].Value != null) ? row.Cells["colProductCount"].Value.ToString() : "");
dataTable.Rows.Add(dataRow);
}
report.DataSources.Add(new ReportDataSource("dataGridView_List", dataTable));
using (Printer printer = new Printer())
{
printer.Run(report);
}[ Szerkesztve ]
-
drkbl
őstag
-
NoMan
csendes tag
Sziasztok,
Az alábbi osztály (MSDN-ről szedtem) segítségével kezdeményezem az elkészített, feltöltött RDLC nyomtatását Visual Studio 2012-ban. A gondom ezzel az, hogy az Export metódus report.render hívása 5 másodpercig is elszórakozik, mire elkészül, és valóban megkezdődik a nyomtatás, még abban az esetben is, ha csak 1 sornyi adatot kell rendelni és nyomtatni. Mitől lehet lassú ez a folyamat? Hogyan lehet ez gyorsítani? Előre is köszönöm a segítséget!
public class Printer : IDisposable
{
private int m_currentPageIndex;
private IList<Stream> m_streams;
// Routine to provide to the report renderer, in order to
// save an image for each page of the report.
private Stream CreateStream(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
{
Stream stream = new FileStream(@"..\..\" + name + "." + fileNameExtension, FileMode.Create);
m_streams.Add(stream);
return stream;
}
// Export the given report as an EMF (Enhanced Metafile) file.
private void Export(LocalReport report)
{
string deviceInfo =
"<DeviceInfo>" +
" <OutputFormat>EMF</OutputFormat>" +
" <PageWidth>8.5in</PageWidth>" +
" <PageHeight>11in</PageHeight>" +
" <MarginTop>0.25in</MarginTop>" +
" <MarginLeft>0.25in</MarginLeft>" +
" <MarginRight>0.25in</MarginRight>" +
" <MarginBottom>0.25in</MarginBottom>" +
"</DeviceInfo>";
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("Image", deviceInfo, CreateStream, out warnings);
foreach (Stream stream in m_streams)
stream.Position = 0;
}
// Handler for PrintPageEvents
private void PrintPage(object sender, PrintPageEventArgs ev)
{
Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
ev.Graphics.DrawImage(pageImage, ev.PageBounds);
m_currentPageIndex++;
ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
}
private void Print()
{
PrinterSettings printerSettings = new PrinterSettings();
//string printerName = printerSettings.PrinterName;
const string printerName = "Microsoft XPS Document Writer";
if (m_streams == null || m_streams.Count == 0) return;
PrintDocument printDoc = new PrintDocument();
printDoc.PrinterSettings.PrinterName = printerName;
if (!printDoc.PrinterSettings.IsValid)
{
string msg = String.Format("Can't find printer \"{0}\".", printerName);
MessageBox.Show(msg, "Print Error");
return;
}
printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
printDoc.Print();
}
// Create a local report for Report.rdlc, load the data,
// export the report to an .emf file, and print it.
public void Run(LocalReport report)
{
Export(report);
m_currentPageIndex = 0;
Print();
}
public void Dispose()
{
if (m_streams != null)
{
foreach (Stream stream in m_streams)
stream.Close();
m_streams = null;
}
}
} -
drkbl
őstag
Talán segít: The Shell ContextMenu: Retrieving it
-
ubid
senior tag
-
ravenwood
csendes tag
valaki aki ért mesterséges intelligencia alap szintű programozásához RTS játékba az vegye fel velem privátba a kapcsolatot nem fogja megbánni
-
drkbl
őstag
Talán érdekes cikk a témában: Async/Await Best Practices in Asynchronous Programming
-
Karma
félisten
A StringComparison egy enum, amit a String StartsWith metódusa egyik változatának tudsz megadni paraméterként.
“All nothings are not equal.”
-
vlevi
nagyúr
válasz kingabo #4145 üzenetére
Kollégám hülyéskedik, és a pácsó szóban nincs c betű
Ahogy a Sony márkanév sem tartalmaz n -t"Ezért írom mindig, hogy "StringComparison.InvariantCulture" kell használni!"
Ott csak Equals és ilyenek vannak. Startswith, indexof, ... megoldható vele valahogy? Nem ismerem a Stringcomparison class-t, ezért kérdezem.[ Szerkesztve ]
-
-
Karma
félisten
-
-
Karma
félisten
Filózok folyamatosan a problémán, igazából ha mondjuk ebből a példából indultál ki, akkor az előzőleg említett állításom nem áll meg - egy elrejtett Form az alapja az egésznek, a rendes kontextus az Application.Runnak köszönhetően felépül.
A linkem a konzol alkalmazásokra vonatkozott csak, ez meg nem az.
Viszont felmerült bennem egy kérdés a kódod azon részére, amit nem mutattál eddig: az mWorker változót hogyan deklarálod és mikor hozod létre a BackgroundWorker objektumot? Nem maradt ki véletlenül a new?
Ettől függetlenül a ThreadPool jó dolog
[ Szerkesztve ]
“All nothings are not equal.”
-
-
Karma
félisten
Amúgy az előző konstrukcióban van valami oka annak, hogy innen próbálod indítani a BackgroundWorkert, nem pedig a SysTrayAppon belül? Drkbl jó úton jár, a BackgroundWorker működéséhez kell a megfelelő kontextus, ami ebben a formában nem áll elő.
A linkelt SO kérdésben is említik az egyszerű megoldást: használj pl. ThreadPoolt. Vagy a C# 5.0-öt használsz, ott az async/await is. (Microsoft.Bcl.Async csomaggal meg régi .NET-en is megy.)
“All nothings are not equal.”
-
-
-
kingabo
őstag
Olyan
bugotfeature-t találtam ma, hogy az agyam eldobtam.
"NY".ToString().StartsWith("N")) hamis értékkel tér vissza.
Aki rá akar jönni magától az ne olvassa tovább.A megoldás pedig: a magyarban az ny betű az 1 betű és nem 2, ezért az 'ny' != 'n' (direkt jelöltem így), átköltözve angol nyelvterületre a függvény az elvártaknak megfelelően működik.
kéne Ph!-ra is spoiler tag
-
-
válasz sztanozs #4139 üzenetére
Nem. A definiáláskor kap egy 0-t
De kiszedtem az i++-t, a konzolra debuggolásképpen fix értéket írna ki, és úgy is elszáll... :S
Console-hoz hozzáfér, mert amíg nem volt benne BackgroundWorker, addig írt rá. Illetve, mondjuk lehet a bw nem fér hozzá... kipróbálom.
Nem a konzol a gond.
(A Form-ok is használhatnak console-t, ha nem target:winexe -el van fordítva A BackgroundWorker nélkül ott a trayicon, és ír is konzolra, ha nyomkodom a menüt, csak a háttérben futó dolog nem fut, ugye )Megnézem, amit linkeltél Köszi
[ Szerkesztve ]
Mutogatni való hater díszpinty
-
sztanozs
veterán
Esetleg a Console-hoz nem fér hozzá... Passz. Mindenesetre találtam egy tiédhez hasonló problémát:
http://stackoverflow.com/questions/6165759/using-console-writeline-in-a-backgroundworker-dowork-eventAmúgy ha WinForm alkalmazást fejlesztesz, ahhoz nem lesz console...
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
válasz sztanozs #4137 üzenetére
Megpróbáltam; debug+ -ra :
"Unhandled Exception: System.NullReferenceException: Object reference not set to
an instance of an object.
at MyTrayApp.SysTrayApp.Main() in c:\share\trayapp.txt:line 237"A 237-es sor pedig pont az, amit mondtam
236 SettingRS232();
237 mWorker.RunWorkerAsync();
238 Application.Run(new SysTrayApp())A mWorker pedig :
private void worker_DoWork(object sender, DoWorkEventArgs e) {
// Simulate worker thread taking time
i++;
Console.Write(i);
System.Threading.Thread.Sleep(100);
}[ Szerkesztve ]
Mutogatni való hater díszpinty
-
sztanozs
veterán
Használj debug kapcsolókat command line compilerhez és akkor kicsist több lesz a hibaüzenet...
És van command line debugger is.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
válasz sztanozs #4135 üzenetére
"Unhandled Exception: System.NullReferenceException: Object reference not set to
an instance of an object.
at MyTrayApp.SysTrayApp.Main()"Meg nem mondom, hogy hol, mert nincs VS-em, notepad++ -ban készülnek a dolgok
De igazából annyit csináltam, hogy a példaprogramból átemeltem az eseménykezelőket, és meghívtam a main{} -ból. A példaprogramot persze nem tudom, hogy amúgy jó-e, mert le se fordul
A meghívás ennyi :
mWorker.RunWorkerAsync();Másrészt, a program indulásakor kéne lefuttatni a cuccot, igazából ennyi lenne a dolog. Nem eseményre kéne futnia, hanem állandóan.
[ Szerkesztve ]
Mutogatni való hater díszpinty
-
sztanozs
veterán
Hol száll el null reference-szel? Nem véletlenül egy olyan esemény "meghívásakor" amire nincs semmi feliratkozva?
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Én konkrétan a rendszeridőt akarom kiküldözgetni soros portra, szóval semmi bonyolult, de egy kis tray icon-os alkalmazásban, ahogy néztem, nem lehet olyan egyszerűen megoldani, hogy táécás ikonon kívül fusson a háttérben az a 30 sor, ami 10 másodpercenként kiküldi a cuccot...
Ebből kinéztem a lényeges dolgokat, de null reference-el elszáll...
Mutogatni való hater díszpinty
-
-
sztanozs
veterán
Csináltam már, de ugye példát nem tudok berakni, mert vagy tesztelére dobtam össze és már töröltem, vagy túl nagy ahhoz, hogy csak úgy felrakjam példának.
Inkább írj egy pár konkrét példát, hogy hol/mivel akadsz el és szívesen segítek...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
-
Hello!
Csinált már valaki backgroundworker -rel valamit?
Szeretnék írni egy progit, ami a tálcára tesz ikont, kattra kinyílik, és a háttérben teszi a dolgát. Elvileg ezt vagy szálkezeléssel lehet, vagy backgroundworker-rel.De erre még működő példaprogramot sem nagyon találok, a saját kódomba meg nem tudok úgy beleírni egy bw -t, hogy leforduljon... :S
Ja, és c# .net-ben
Minden segítséget köszi!
[ Szerkesztve ]
Mutogatni való hater díszpinty
-
drkbl
őstag
Igazából a ReportViewer nem kötődik az adatbázishoz, létrehozhatsz csak táblákat tervezéskor, és futásidőben feltöltött táblákat adhatsz át neki - Express Editionokban ez a járható út. A lényeg, hogy a DataSet és a táblák neve megegyezzen tervezéskor és futásidőben.
Ha nincs DDEX provider a pgsql-hez, esetleg lehet ODBC kapcsolatot használni.
Egy korai Express ReportViewer hívásom: [link] A tábla nevét prefixeli a jelentéstervező DataSetjének nevével, hogy "összetaláljon" a kettő.
-
sztanozs
veterán
Nem friss, de használható:
http://www.codeproject.com/Articles/30989/Using-PostgreSQL-in-your-C-NET-application-An-intrJOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
NoMan
csendes tag
Sziasztok,
Nyomtatási képet szeretnék készíteni (rdlc) Visual Studioba. Arra már rájöttem, hogy a solutionhoz hozzá lehet adni egy report elemet, amiben meg lehet szépen vizuálisan tervezni a nyomtatási képet. A probléma nem is itt van, mert ez megy, repertview komponensbe meg is tudom jeleníteni.
Ezzel eddig nincs gond. Viszont azt már nem tudom megoldani, hogy a programból érkező adatokat meg tudjak jeleníteni. Neten olvasgatva DataSet-et kell hozzá adnom, melynek a mezőit fel tudom húzni a report layout-ra, viszont minden példa MSSQL adatbázisból egy lekérdezésen keresztül gyűjtötte ki az adatokat. Nekem viszont az adatok postgresql-ből jönnek, így viszont nem tudom, hogy hogyan építem fel a dataset-et és azt hogyan adom át a report-nak (rdlc-nek).
Valaki tudna nekem ebben segíteni, hogy ez pontosan hogyan is működik, hogyan tudok ebben elindulni.
A segítséget előre is köszönöm.
-
ubid
senior tag
Sziasztok!
Valaki tud olyan excel kezelő DLL-t mondani ami normálisan működik silverlight alatt ?
Eddig kettőt használtam, az egyik a "dynamic típusos" féle.
Ezzel az a gond, hogy csak OOB-ben működik, viszont legalább lehet normálisan használni a cellák szerkesztésére chart-ok generálása stbstb.A másik pedig a LiteExcel dll. ezzel meg az a gondom, hogy nem lehet a cellákat állítgatni...
pl: Ki kell számolni, hogy milyen széles legyen egy cella... nem lehet mondjuk .AutoFit()-et használni, ahogy a dynamic-ba is.
Chart-ot is csak képként lehet vele kimenteni...Szóval valami más van esetleg ?
-.-
-
Parameter
csendes tag
válasz sztanozs #4112 üzenetére
a dátumot hozzátudom csapni, mert az benne van a log fejlécében, törzsében. van egy bizonyos sor ahol mindig beleírja az aktuális dátumot.
Én Split()-tel töröm a sor szavait tömbbe. IF, ELSE, Contains párossal találom meg azt a sort ami kell nekem.
A naplóban lehet olyan hogy 23:02:01 session majd 5:01:12 session ez már másnap... szal napváltás is kellene. :/ P
string line = "";
while ((line = sr.ReadLine()) != null) {String[] log_file = line.TrimStart().Split(' ');
if (line.Contains("SZÓ1'") && line.Contains("SZÓ2"))
{
}[ Szerkesztve ]
-
Parameter
csendes tag
válasz sztanozs #4110 üzenetére
1) ha valamiért nincs IN (nem került be a logba), akkor egy korábbi IN-t fog megtalálni (esetleg több out is megkapja ugyanazt az IN időpontot)
Ha nincs IN akkor le kell zárnia a programnak egy OUT sessionnal ami uaz sorral tér vissza mint amelyik IN-hez keressük az OUT-ot.
így az IN dátum és OUT dátum különbsége 0 lesz.
[ Szerkesztve ]
-
sztanozs
veterán
válasz Parameter #4109 üzenetére
Amúgy félrenéztem a tábládat - első pillantásra az időből azt gondoltam, hogy csökkenő sorrendben van (valójában növekvőben, csak megzavart a végén a reggel 7 óra). Ehhez nem jó a programom, hanem az a leírás használható, amit a hsz-om végén írtam (ha megfordítod a logok sorrendjét excelben, akkor mondjuk jó lesz). Amúgy elég problémás egy olyan log, amiben az idö mellett nincs dátum...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz Parameter #4109 üzenetére
Amúgy miért kell neked naplóelemző szoftvert fejleszteni? Annyi van a piacon, hogy dunát lehet velük rekeszteni...
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz Parameter #4109 üzenetére
De amit becsatoltál, az excel volt - ezért VBA-ban írtam meg... Milyen formában elérhetők a kódok?
Favágó logika: végigmegyek soronként és ha valahol OUT van, akkor (szubrutinban) a következőtől kezdve megkeresem az első IN-t és összehasonlítom a megfelelő mezőket. Ha egyeznek, akkor a végére kiírom az időt, ha nem találok egyezőt, akkor kiírom, hogy nincs egyező.
Ezzel amúgy két probléma van
1) ha valamiért nincs IN (nem került be a logba), akkor egy korábbi IN-t fog megtalálni (esetleg több out is megkapja ugyanazt az IN időpontot)
2) Ha nagyon hosszú a fájl és hosszúak a session-ök, akkor közel exponenciálisan nö a feldolgozási időEnnél jobb módszer, ha sorban dolgozod fel a logokat és egy struktúrába berakod az összes OUT-ot és menet közben szépen ellenőrzöd az IN-eket is. Ha találtál párt akkor az adott OUT sorát frissíted, majd kiveszed a struktúrából. Ami pedig a feldolgozás végén marad, ahhoz odaírod, hogy nem találtál IN-t.
Ez a módszer fájl-alapú logolásnál működhet, de azok a session-ök nem lesznek azonosíthatók, amelyek nyitása az előző fájlokban voltak.Ha pedig realtime log feldolgozás van (syslog) - vagy a log (egyébként így szokott lenni) időrendben növekvő (legkorábbi esemény van a fájl elején) rendben van, akkor érdemes az IN-eket letárolni (mivel ugye azt kapod meg először). Ha később jön egy (neki megfelelő) OUT sor, akkor az ahhoz tartozó IN dátumát beírni mellé és az IN-t kivenni az ideiglenes tárból...
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz Parameter #4105 üzenetére
Mondjuk ennek semmi köze nincs a C#-hoz...
Public Sub TestLogout()
Dim c As Range
For Each c In Sheet1.UsedRange.Columns(2).Cells
If c.Value = "OUT" Then
Set c = c.EntireRow
Set Row = FindRelativeRow(c)
If Row Is Nothing Then
c.Columns(6).Value = "No Entries Found"
Else
c.Columns(6).Value = Row.Columns(1)
End If
End If
Next
End Sub
Private Function FindRelativeRow(currentRow As Range) As Range
For r = currentRow.Row + 1 To Sheet1.UsedRange.Rows.Count
If Sheet1.UsedRange.Cells(r, 2).Value = "IN" Then
If Sheet1.UsedRange.Cells(r, 3).Value = currentRow.Columns(3) And _
Sheet1.UsedRange.Cells(r, 4).Value = currentRow.Columns(4) And _
Sheet1.UsedRange.Cells(r, 5).Value = currentRow.Columns(5) Then
Set FindRelativeRow = Sheet1.UsedRange.Rows(r)
Exit Function
End If
End If
Next
Set FindRelativeRow = Nothing
End Function[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Parameter
csendes tag
Segítségre lenne szükségem!
Párokat szeretném megtalálni. Az OUT eseményekhez szeretném megtalálni az IN eseményeket, majd IN dátumát hozzácsapni az OUT sorhoz. (Mikor volt IN-je a usernek?) és úgy hogy modul, user, gep megegyzik...
Mindenféle segítséget, útmutatást előre is köszönök!
[ Szerkesztve ]
-
sztanozs
veterán
Specifikálnád egy kicsit jobban a kérdést? A windows "saját" context menüje is típusonként, elemenként, és állapotonként is változó. Más ha ikonra kattintasz, más ha az asztalra, más ha form fejlécre. A context menünek épp az a lényege, hogy az elem típusának és állapotának megfelelő menüt adjon...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Anime filmek és sorozatok
- Autós topik
- iRacing.com - a legélethűbb -online- autós szimulátor bajnokság
- Lexus, Toyota topik
- Lassan állítjuk a fát, és a hardverek is be vannak csomagolva
- BestBuy topik
- Fejhallgató erősítő és DAC topik
- Magisk
- iPhone topik
- További aktív témák...
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Axon Labs Kft.
Város: Budapest