Hirdetés
- Megújult a Glorious GMMK klaviatúracsaládja, és már van benne analóg modell is
- Végre a Logitech is bemutatott egy analóg klaviatúrát
- A GameMax háza egyedi csavarral lovagolja meg a mai trendeket
- iGPSport iGS800 kerékpáros óra: egyből a csúcsra tör
- Már nincs messze a világ első teljes UCIe IP megoldása
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Apple notebookok
- Gaming notebook topik
- Vezetékes FÜLhallgatók
- Kormányok / autós szimulátorok topikja
- iPad topik
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Intel találgatós topik
- Azonnali VGA-s kérdések órája
- HiFi műszaki szemmel - sztereó hangrendszerek
Hirdetés
-
Őszi WTCR-es AC bajnokság az Elantra/Cupra duóval okt.3-án rajtol!
lo Az idei őszi Assetto Corsa bajnokságunkban, a jelenkori túrautós bajnokság krémjét, a WTCR-es autókat keltjük életre....
-
Minden információt felhasználnak rólunk a közösségi cégek
it Az amerikai hatóságok szerint a közösségi média felhasználói nem igazán rendelkeznek irányítással azon adatok fölött, amit az AI-rendszerekkel megetetnek a nagy cégek.
-
No More Room In Hell 2 - Jövő hónapban indul a PC-s korai hozzáférés
gp A bejelentéssel együtt egy rövid előzetest is kaptunk a játékhoz.
Új hozzászólás Aktív témák
-
Keem1
addikt
válasz RedHarlow #8949 üzenetére
Objektumorientált paradigma megvan? Lokális változót nem fogsz tudni kívülről használni (ahogy ciklusváltozót se cikluson kívül), így a fentebb említett osztályváltozó lesz a te embered.
Lehet hogy létezik rá favágó megoldás (joysefke köszi a kifejezést ), de arról én nem tudok és nem is akarok tudni. -
kw3v865
senior tag
Sziasztok!
C#-ban egy tök egyszerű Windowsos alkalmazáról van szó (egyelőre), melyben egy gombnyomásra futtat egy külső alkalmazást.
A problémám a következő: a futtatni kívánt alkalmazás elindul, de azonnal be is záródik az ablaka. A környezeti változókban benne van, tehát ha nyitok egy CMD-t, és onnan indítom, akkor minden rendben megy.A konzolban ezt írja:
System.Diagnostics.ProcessStartInfo
ID: 5716 - Name: ogr2ogrTehát elvileg elindul, sőt egy pillanatra fel is villan, de nekem ez nem elég. Rendesen meg kellene nyílnia az ablaknak, hogy csak a felhasználó zárhassa be. Ha a p.FileName-et átírom notepad.exe-re, akkor tökéletesen működik, csak az ilyen parancssoros alkalmazásokkal van gond..
Szerintetek hogyan lehetne ezt megvalósítani, hogy úgy viselkedjen, mintha a parancssorból indítottam volna el?
Így néz ki a kódom jelenleg (az egyszerűség kedvéért csak a lényeg):
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hwc, IntPtr hwp);
private void button1_Click(object sender, EventArgs e)
{
Process p = new Process();
try
{
p.StartInfo.FileName = "ogr2ogr";
p.Start();
Console.WriteLine(p.StartInfo);
Console.WriteLine("ID: {0} - Name: {1}",p.Id,p.ProcessName);
p.WaitForExit();
}
catch(Exception ex)
{
Console.WriteLine("Error"+ex.Message);
}
}
}
-
Keem1
addikt
válasz kw3v865 #8952 üzenetére
Ha jól értem a kérdést (a külső program, és nem az általad írt záródik be), akkor ez nem a te applikációdban keresendő probléma. A CLI appok nagy része a program futását követően terminál, ahogy lefutott a kód. Cmd-ben indítva azért nem, mert a cmd-t kapod vissza, de ugyanúgy kilép maga a program, és visszakapod a promptot. Az appban, ha a vége user interakció (pl. "press any key"), akkor nyilván ott marad bezárásig vagy az user input teljesüléséig.
A lineáris CLI appok mind így működnek.Elvileg lehetséges nem külső processzként futtatni, de erről inkább a topiktársak tudnak infót adni, én ugyanis nem tudom.
[ Szerkesztve ]
-
disy68
aktív tag
válasz kw3v865 #8952 üzenetére
Indítsd el csupán a parancssort, aztán abban indítsd el a cli alkalmazást a standard input-ra írva. A végén a cmd-ből egy exit-el kiléphetsz, amikor szeretnél.
var startInfo = new ProcessStartInfo
{
FileName = "cmd.exe",
RedirectStandardInput = true,
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
var process = new Process {StartInfo = startInfo};
process.Start();
process.StandardInput.WriteLine(@"dir>c:\results.txt");
process.StandardInput.WriteLine(@"dir>c:\results2.txt");
process.StandardInput.WriteLine("exit");
process.WaitForExit();[ Szerkesztve ]
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
Keem1
addikt
Skacok, bizonyára már észrevettétek, hogy ugyan nem vagyok programozó, de a munkahelyemen a kolléganők életének megkönnyítésére kis toolokat készítek. Az alábbi kérdésre bár a választ sejtem, de azért egy A vagy B választ szeretnék kérni
Lenne egy windows service, ami baromi egyszerű: ha épp fut, akkor bizonyos paramétereket/adatokat (lokálisan és XMLRP service-ből) gyűjtve utána az adott alkalmazottnak kipattintja egy fancy e-mail formájában. Ok: ne neki kelljen összekotorni, plusz ők jobban emésztik a csini kis e-mailecskéket.
Tudom-e egyetlen applikációban összegyúrni a service-t és a pár adat bekérésére/módosítására szolgáló winformot (ezt mondjuk first run is feldobná, ahol e-mail cím, meg adott esetben a frissítési gyakoriság felülbírálása lenne - adatok a registryben).
A.) Igen, ez működik egy appon belül
B.) Francokat, csináld meg külön, ez nem lehetségesKöszi!
Ps.: eredetileg egy task schedulerrel időnként elindított console appra gondoltam, ami nyilván kézzel futtatva a paraméterek bizgerálására lenne jó, de szerintem hülyét kapnak a console felülettől, másrészt nem lenne jó, ha időnként feljönne (és abban a pillanatban el is tűnne) a console felülete.
[ Szerkesztve ]
-
fatal`
titán
-
zsolti_20
senior tag
Üdv emberek!
Lehetséges olyasmit alkotni, hogy egy programban lévő értéket képes kiolvasni? Hogy nagyon le egyszerűsítsem, olyasmire gondolok, hogy írok egy programot ezzel a két sorral:
Console.WriteLine("6");
Console.ReadKey();
És egy második programmal az első programot betallózom, hogy képes legyek kiolvasni a 6-os értéket. -
dqdb
nagyúr
válasz zsolti_20 #8960 üzenetére
Ha a második program az elsőt indítja, akkor sima output átirányítással megoldható a ProcessStartInfo megfelelő paraméterezésével. Ha nem, és PID vagy .exe neve alapján kell megkeresni az ablakát, akkor szintén megoldható, de ehhez kell egy jó adag P/Invoke. Ha ugyanabban a parancssorban egymás után indítod el, akkor szintén megoldható.
tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek
-
sztanozs
veterán
válasz zsolti_20 #8964 üzenetére
Hova ír az első program? Fájlba, memóriába, konzlora? Vagy nem is ír sehova, hanem valahol egy ablakban jelenik meg egy mezőben?
[ 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...
-
dqdb
nagyúr
válasz zsolti_20 #8964 üzenetére
A három felvázolt eset szempontjában teljesen irreleváns, ki írta, csak az számít, hogyan kerül futtatásra az első alkalmazás (feltéve ha konzolos alkalmazás egyáltalán, mert a WriteLine-os példádból az jött le, ha nem, akkor az egy merőben eltérő plusz eset).
tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek
-
sztanozs
veterán
válasz zsolti_20 #8967 üzenetére
Volt régen a Visual C++ mellé valami spy tool, amivel hozzá lehetett férni (megfelelő jogokkal) egy idegen ablak tetszőleges form-kontrolljának az attribútumaihoz (többek között a Label vagy Text property aktuális értékéhez). de ott kézzel kellett kijelölni a formot és a kontroll-t.
[ 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...
-
bandi0000
nagyúr
Egy kis segítséget szeretnék kérni ASP .NET Core-hoz
Találtam egy jónak tűnő tutorialt, viszont a 2.2 verziót használja, így jött az ötlet, hogy nyilván ha már van 3.1 akkor azzal kezdem el, és majd útközben frissítem amit kell
De már az elején elakadtam, a tutorialba annyit tett, hogy üres projektet hozott létre a core-on belül
hozzáadott egy Controllers mappát azon belül pedig egy HomeController osztályt abba 1 fv ami egy stringgel tér vissza
A startup osztályba pedig a confighoz adta az AddMVC-t és middlewarekhez pedig a UseMvcWithDefaultRoute-ot, na már most ez így a 3.x verzióban nem életképes, mert az AddMVC helyett az AddRazorPages()-t kell használni
+ még ez lett hozzáadva a middlewarek közé:
app.UseRouting();
app.UseStaticFiles();
app.UseEndpoints(endpoints => {
endpoints.MapRazorPages();
});
Viszont így csak annyit ír ki futáskor, hogy ez a localhost oldal nem található
Valszeg nem nagy hiba, de így az elején nem tudom merre induljak neki
[ Szerkesztve ]
Xbox One: bandymnc
-
martonx
veterán
válasz bandi0000 #8970 üzenetére
A doksi nem segít? https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.1&tabs=visual-studio
Nekem 3.1-el még csak egy projektem fut, abban így van beállítva a routing:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});De ez egy API app, nincsenek View-jai, csak Controllerek.
Én kérek elnézést!
-
bandi0000
nagyúr
válasz martonx #8971 üzenetére
igen ezt néztem én is, enyém is most per pill ilyen
Elvileg úgy érném el az adott Controllert, hogy localhost.../ControllerName/MethodName nem?
Most létrehoztam egy MVC projektet, abba services.AddControllersWithViews(); ezt haszálja és így hívja
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
Lehet akkor ezzel lehet csak hívni, ha tartozik hozzá View is, mindenesetre ránézek akkor hátha
petyus_: Köszi, közben rájöttem... lesz itt még szenvedés úgy érzem
[ Szerkesztve ]
Xbox One: bandymnc
-
petyus_
senior tag
-
bandi0000
nagyúr
Na még a routingnál maradva
Ha csak attributum routingot szeretnék használni, akkor arra van lehetőség? Tutorialba nyilván az app.UseMvc() sor megoldotta ezt, de itt a 3.x nél ez le lett cserélve
Lehet én siklok el valami felett, de convention routing már "alap"? a 3.x verzióban és nincs lehetőség csak attributum alapút használni?
Azt látom, hogyha egy függvényre rádobom az attributum routingot akkor azt onnantól már nem érem el simán a controller/method felépítéssel
Amúgy melyiket érdemes használni? Így elsőre nekem az attributum látszik jobbnak, nyilván a másik egyszerűbb, de pl Springbe is hasonlóan kellett megadni minden egyes metódushoz
Xbox One: bandymnc
-
bandi0000
nagyúr
válasz martonx #8975 üzenetére
igazából ugyan az
Migrációban le van írva, hogy mi mit váltott
De a működése úgy volt a 2.2-ben, hogyha csak az app.UseMvc() volt meghívva, útvonal infók nélkül, akkor nem lehetett elérni "manuálisan" a végpontokat, csak ha az egyes controllerek, és metódusaik fel voltak paraméterezve attribútummal, viszont ha így lett megadva:
app.UseMvc(routes =>
{
routes.MapRoute("default","{Controller="Home"}/{action = index}/{id}");}
);
Akkor innentől kezdve működött a controllerName/methodName a böngészőben ,és attributum nélkül elérhetőek voltak a függvények
Az új verzióba csak ez a változat van :
/*app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=index}/{id?}");
});*/
Most találtam egy olyat, hogy lehet használni a UseMvc()-t, ha a configService-ben kikapcsolom a routingját
services.AddMvc(option => option.EnableEndpointRouting = false);
De ez olyan toldozgatás foltozgatásnak tűnik, egy olyan egyszerű dolognál, hogy csak az attributumokat használhassam
Bocs lehet én agyalom túl ezt a kérdést, sőt biztos is, csupán érdekelne hogy miért csinálták így
Xbox One: bandymnc
-
bandi0000
nagyúr
Ugye van egy beépített Identity framework, olvastam a doksit, hogy mit tud, látom OAuth2-őt használ stb
Ez túl szép, hogy igaz legyen... Így elsőre egész jól használhatónak tűnik és ha jól értelmezem akkor igazából mindent tartalmaz ami szükséges az Authentication illetve Authorization-hoz.
Ezt használják real word app-ban is ?
Xbox One: bandymnc
-
zsolti_20
senior tag
Sziasztok! Lehetseges olyan programot irni ami kepes leolvasni es szovegge alakitani a kepernyot lathato dolgokat?
Pl van egy alkalmazas ahol azt latom hogy "hat". A program kepes felismerni es leolvasni hogy oda az van irva hogy hat es szovegge konvertalja szamomra.
-
norbyy12
friss újonc
Sziasztok. Valaki tudna segíteni elindulni egy vizsgafeladattal kapcsolatban?
-
Keem1
addikt
válasz norbyy12 #8987 üzenetére
Én kicsit csodálkozva nézem az ilyen kérdéseket. Mi a 40 perces programozás vizsgán nem tudtuk volna beírni fórumba (örültünk, ha ez az idő magára a feladatra elég lesz), másrészt 15 évvel ezelőtt habár már volt internet, de a vizsga idejére a gépeket megfosztották tőle a gépteremben Tudom, okostelefon, de akkor is.
-
mdk01
addikt
Sziasztok,
Beírtam a tárhelyes topikba, de megkérdezem itt is hátha itt hamarabb kapok rá választ.
Asp.net+web forms-szal lenne összerakva egy honlap és érdeklődnék hogy ezek futtatásához ismer e valaki tárhelyszolgáltatót?
Jelenleg a tárhely.hu-n van előfizu, de ők nem tudják futtatni, C#-ot.
Köszi -
joysefke
veterán
Regisztrálsz ingyen egy accot Azure -ra. Azt hiszem kapsz még valamennyi kreditet -talán 200$-t- amit 30 nap alatt lehasználhatsz. Kredittől függetlenül meg tudod nézni, ki tudod próbálni, hogy hogyan működik.
Nem teljesen értem, hogyan kapcsolódik a ASP.NET+web forms-hoz.
Web formssal nem próbáltam (Csak ASP NET Core appal). Alapvetően úgy működik, hogy mondjuk Visual Studioból feltöltöd az appodat egy Azure AppService konténerbe (ez egy opció) azt minimálisan bekonfigurálod és működik. Igen, ez az Azure valamelyik adatközpontjában fog futni.Kis időbefektetéssel el tudsz jutni egy olyan pontra, hogy lásd működik-e, és hogy mennyibe fog kerülni. Jobban jársz ha te magad próbálod ki, minthogy távolról próbálod megszakérteni.
[ Szerkesztve ]
-
martonx
veterán
"Asp.net+web forms-szal lenne összerakva egy honlap" - heh, és ezt így 2019 legvégén?
Azureban teljesen ingyen lehet futtatni Asp.Net MVC-t, Asp.Net Core-t, de tudtommal az ősi, rég elavult Asp.Net Web Forms-hoz saját VM kell, az meg valóban zsebbe nyúlós (akár havi 40 EUR is lehet, ami szvsz amúgy szinte ingyen van, ha már őskövület futtatása a cél).
Én kérek elnézést!
Ú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!
- iPhone topik
- Miért vezet mindenki úgy, mint egy állat?
- Jövő héten megismerhetjük a Redmi Note 14 szériát
- Futás, futópályák
- Xbox Series X|S
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Google Pixel topik
- Új infók a negyedik generációs iPhone SE-ről
- Kiderült, mekkora aksi van az iPhone 16-okban
- LEGO klub
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: Ozeki Kft
Város: Debrecen