Új hozzászólás Aktív témák
-
Jester01
veterán
-
manrick
tag
Sziasztok.
Lenne egy kis problémám.
Megpróbálom érthetően megfogalmazni.
Autentikációt próbálok létrehozni.
Addig megy is a dolog, hogy beírom a felhasználónevet és a jelszót és ki is olvassa az adatbázisból. De ezután nem tudom hogyan kéne megnyitni az applicationt, hogy ne legyen kétszer megnyitva.
A következőképpen csináltam
Amikor elindul a
static void Main()
{
Application.Run(new alap());
}
alatt levő form, leellenőrni, hogy egy meghatározott változó üres e. Ha igen, akkor bejön az autentikációs ablak. Beírom a felhnevet és a jelszót, majd ok. Ekkor tökéletesen lefut és megnyitja újra az induló formot.
De a gondom az, hogy a háttérben ott marad az elsőként megnyitott alap form is.
Nem lehet azt valahogy megoldani, hogy a megnyitott formot frissítse?
Vagy valami más megoldás?
Remélem tudtok segíteni -
manrick
tag
válasz
return.value #395 üzenetére
köszi, sikerült.
-
return.value
tag
A mySqlCommand objektumod Parameters nevű gyűjteményét kell feltöltened először is:
SqlCommand mySqlCommand = new SqlCommand(''INSERT INTO felhnev (tszam, nev, jelszo) VALUES (@ertek1, @ertek2, @ertek3)'', mySqlConnection);
mySqlCommand.Parameters.Add(
(''@ertek1'', SqlDbType.VarChar, 80).Value = textBox1.Text;
mySqlCommand.Parameters.Add(
(''@ertek2'', SqlDbType.VarChar, 80).Value = textBox2.Text;
mySqlCommand.Parameters.Add(
(''@ertek3'', SqlDbType.VarChar, 80).Value = textBox2.Text;
Természetesen a paraméter tömböt csak egyszer kell inicializálni, ha a commandot többször szeretnéd futtatni, akkor csak az értékek kell módosítani.
mySqlCommand.Parameters[''@ertek1''.Value = ''új érték'';
SqlParameterCollection Class : [link]
SqlParameter Class : [link] -
manrick
tag
Közben sikerült megoldani.
Viszont felmerült egy újabb probléma.
SqlCommand mySqlCommand = new SqlCommand(''INSERT INTO felhnev (tszam, nev, jelszo) VALUES ('ertek1', ertek2', 'ertek3')'', mySqlConnection);
Azt szeretném, ha egy textBoxban levő szöveg legyen egyenlő pl az ertek1-el, és így tovább egy másik textBox értéke az ertek2-vel...
Tudna valaki segíteni? -
manrick
tag
Sziasztok
A problémám az, hogy nem tudom kiíratni egy adatbázis adott táblájának egy oszlopát.
SqlConnection mySqlConnection = new SqlConnection(''server=localhost;database=Northwind;uid=sa;pwd=xyz'');
SqlCommand mySqlCommand = new SqlCommand(''SELECT CustomerID FROM Customers'', mySqlConnection);
mySqlConnection.Open();
SqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
mySqlDataReader.Read();
//Kiírja az elsőt.
textBox1.Text = mySqlDataReader[''CustomerID'' ].ToString();
mySqlDataReader.Close();
mySqlConnection.Close();
Ebben az esetben a texboxba bekerül a Customers táblából az első CustomerID, tehát a lekérdezés működik. Csak nem tudom mivel lehetne az összeset kiíratni.
Tudna valaki segíteni?
Manrick
[Szerkesztve]
[Szerkesztve] -
andriscs
aktív tag
válasz
Gregorius #390 üzenetére
Hi!
Igen, ez egy ilyen jópofa alkalmazás, hogy állandóan megy és látszik
Amúgy arra gondoltam, ha el lehet kapni midnenféle Windwos üziket, például hogy a Windows épp leállítás alatt van, akkor a private const int WM_QUERYENDSESSION = 0x0011; más értékre állításával páldául elkapom azt, hogy WM_NEEDFULLSCREENFROMGDI+=........ értékkel és a
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_NEEDFULLSCREENFROMGDI+)
{
....
futtatásával simán mennie kellene a dolognak. De ha nem megoldható, akkor...akkor valahogy máshogy kell megkeresenm a dolgot (pl. DirectX inicializálás van, vagy nemtom.) Csak ötleteket kértem -
Gregorius
őstag
válasz
andriscs #388 üzenetére
És a kedvenc alkalmazásodnak állandóan ott kell figyelnie a desktopon? És ha igen, akkor miért kell topmost-nak lennie?
Annak elkapása, hogy valaki épp teljes képernyőre vált az minimum ronda és csúnyán néz rád a fordító, egyébként nagyjából annyiból áll, hogy hook-kal elkapod az új ablak létrejöttének eventjét, majd ellenőrzöd, hogy az új ablak full screen-e (általában akkor az, ha borderless és topmost). Szóval WinAPI-ra fel.
[Szerkesztve] -
andriscs
aktív tag
Hi!
Éppen fordítva gondoltam. Be van állítva a TopMost true-ra és ezért gáz, mert ha játszom vagy filmet nézek, akkor nem szeretném látni az alkalmazást a játéktér vagy a filmtér felett. Szóval ha vvalaki full screent szeretne az én alkalamzásomnak el kell tűnnie. Ennyi lenne a kérdésem. -
andriscs
aktív tag
Hi!
Egy alkalmazást fejlesztek, ami állandó jeleggel fut, de szeretném azt elérni, hogy amennyiben egy alkalmazás full screen-ban indul, akkor minimalizálja a tálcára. Ehhez azonban szükségem lenne, hogy el tudjam kapni azt az üzenetet, amit a másik alkalmazás küld a Windows-nak, hogy ő most kéri az egész képernyőt. Van erre valami jó kis példa? -
manrick
tag
Sziasztok.
Az lenne a gondom, hogy listview-ből szeretnék treeview-be másolni drag and drop módszerrel.
Tudna nekem írni valaki példát?
leírom a kódrészletet amivel a másolást el tudom végezni.
using (IMAP_Client c = new IMAP_Client())
{
c.Connect(m_pServer.Text, 143);
c.Authenticate(m_pUserName.Text, m_pPassword.Text);
c.SelectFolder(m_pFolders.SelectedNode.Tag.ToString());
IMAP_SequenceSet sequence_set = new IMAP_SequenceSet();
sequence_set.Parse(m_pMessagesList.SelectedItems[0].Tag.ToString());
c.CopyMessages(sequence_set, ''Folder_nev'', true);
}
Viszont a drag&drop módszer elegánsabb lenne.
Köszönöm. -
Lortech
addikt
Listboxszal:
!A listbox DrawMode property-jét OwnerDrawFixed-re kell állítani!
private void listBox1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
{
e.DrawBackground();
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), new Font(''Arial'', 8, FontStyle.Italic), Brushes.Black, e.Bounds, StringFormat.GenericDefault);
e.DrawFocusRectangle();
}
[Szerkesztve] -
manrick
tag
válasz
Gregorius #379 üzenetére
Leírom kicsit pontosabban.
A listview-ben megpróbáltam, ahogy mondtad, de a szöveg fontjának az állítása nem jön össze.
Van a következő kódrészlet:
ListViewItem it = new ListViewItem(a);
it.SubItems.Add(b);
it.SubItems.Add(c);
it.SubItems.Add(item.Size.ToString() + '' byte'');
it.Tag = item.UID;
m_pMessagesList.Items.Add(it);
Ugye itt at ''it'' változó tartalmazza amit ki akarok írni.
Van egy feltétel, ami ha teljesül, akkor legyen az ''it'' tartalma félkövér.
Ha nem teljesül, akkor legyen normál.
Ezt kellene valahogy összehoznom, de nem akar sikerülni -
manrick
tag
Sziasztok!
Meg tudná nekem mondani valaki, hogy hogyan tudok egy listboxba egy sor szöveg betűtípusát félkövérre állítani?
Köszönöm
Manrick -
Ákoska
csendes tag
Kedves PAZO és SHEV7!!
Nagyon szépen köszönöm mindkettőtöknek a segítségét!
További kellemes hétvégét!
Üdv: Ákos -
Pazo
tag
szeva,
nem értem pontosan, hogy c-zni vagy c#-ozni kezdtél el, mert szerintem a studió nem a c megtanulásának legmegfelelőbb eszköze. tekintve hogy ansi c-t szerintem nem is tud - bár lehet nagyon nem jól vagyok informálva és igenis tud.
ha én értettem félre, és c# a téma, akkor exe-t létrehozni az 'debug/start debugging' menüpont alatt lehet (F5 - nálam 2005-ben). ha nem akarod, hogy a konzol azonnal be záródjon, akkor én 4 megoldást tudok, válaszd ki a neked megfelelőt:
1. a main utolsó sora legyen: System.Console.ReadLine(); ekkor enter leütéséig élvezheted a konzol társaságát.
2. a main utolsó sora legyen: System.Threading.Thread.Sleep(1000); ekkor a sleep paramétere milliszekundumban értendő, és addig marad fenn a konzol.
3. minden marad ahogy eddig volt, de nem F5-tel, hanem Ctrl+F5-tel futtatod. ezesetben viszont a kivételek a konzolba írva jelennek meg, ha dobódnak. ez bármilyen bill leütásére záródik
+1. megkeresed az exe-t, aztán manuál nyitsz egy konzolt (start/futtatás/cmd) és úgy indítod el az exe nevének beírásával.
ha én értettem jól és c-t akarsz tanulni, akkor én a helyedben a bloodshell dev-c++ vagy a borland c programok valamelyikét használnám. sokkal kisebb memót esznek és kifejezetten erre találták ki őket - vagy másra, de erre nagyon jók. dev-c++ben a konzol fentartására tudom ajánlani:
1. a main-ben a return 0; elé egy system(''pause''); sor beírását. ez is bármilyen bill lenyomása után tér vissza a kódnézetbe.
bye -
Pazo
tag
válasz
Gregorius #374 üzenetére
köszi. én is ezt a megolvást találtam tegnap, és megnyugtató, hogy nem én bénáztam el valamit, hanem tényleg ez a megoldás a legkézenfekvőbb. egy darabig javaztam - amikor a suliban kellett - és onnan rémlett, hogy az a nyelv tud eleve ilyet, emiatt kerestm gőzerővel annak c#-os megfelelőjét. köszi.
-
Gregorius
őstag
StreamReader-rel beolvasod soronként, majd String.Split()-tel szét tudod nyesni whitespace-ek mentén, vagy tetszés szerint. Akkor van ciki, ha túl hosszúak a sorok, ez esetben az az üdvözítő megoldás, ha egy MemoryStream-szerűségben buffereled a beolvasott adatokat, majd ahogy kipotyognak a szavak, trimmeled az elejét.
-
Ákoska
csendes tag
Sziasztok!
Most kezdtem el a C nyelvet, Ms Visual Studio.net 2003-at használok. Az lenne a kérdésem, hogy hol lehet EXE fájlt létrehozni?
Illetve még arra is kíváncsi lennék, hogy mikor lefuttatom a programot, mit írjak a végére, hogy a képernyő ne csak egy pillanatra lássam (Pascalban ez a READLN-el volt elintézhető).
Segítségeteket előre is köszi!
Üdv: Ákos -
Pazo
tag
hogyan lehet c#-ban egy fájlól szavanként olvasni?
-
slyking
csendes tag
hello
nekem lenne egy olyan kérdésem hogy c# to java fordítót tud-e vki?
köszi -
Gregorius
őstag
Semmi. Click után ellenőrzöd, hogy van-e, és ha nincs, akkor kiválasztasz egyet.
Nem vagyok túl ismerős a TreeView környékén (elég bugos kontrol, nem használtam túl sokat), de kell lennie valamilyen Selected property-nek vagy hasonló metódusnak rajta, vagy valamelyik TreeNode-on.
[Szerkesztve] -
manrick
tag
Sziasztok!
Sikerült elérnem hogy fa struktúra szerűen megjelenítek adatokat, viszont az sehogy sem jön össze, hogy amire kattintok, annak a nevét beletegye egy változóba.
Így próbáltam:
private void treeView1_Click(object sender, EventArgs e)
{
textBox2.Clear();
foldernev = treeView1.SelectedNode.ToString();
textBox2.Text = foldernev;
}
De ez így nem jó...
Tudna valaki segíteni?
Előre is köszi.
Manrick -
manrick
tag
Szaisztok!
A feljebb leírt dolgot sikerült megoldanom, de most egy újabb problémába ütköztem. Adott egy richTextBox, aminek a tartalmát le kellene mentetem egy .msg fájlbba. Text fájlbba még megy is a dolog, de msg-be...
Tudna nekem valaki segíteni?
Előre is köszönöm.
Manrick -
Pazo
tag
sziasztok.
szükségem lenne egy olyan messageboxra, ami 'igen', 'nem' gombokat tartalamaz, aztán majd a dialog result alapján dönöm el, hogy melyik műveletet hasztom végre. már néztem a show változatait, de egyenlőre nem találtam benne ilyet. készítettem egy saját formot, amit messageboxként használok ilyen esetekben, de ma rámszólt egy haverom, hogy ez hülyeség, mert van nekem veló verzió. de miért nem találom???
valaki használt már ilyet?
köszi
bye -
andriscs
aktív tag
Hi!
Csináltam egy alkalmazást, ami, mielőtta Form létrejön, ellenőrzi, hogy a szükséges file-ok megvannak-e (resource stb.), és csak utána megy. Ezt a FileInfo.Exists cuccal csinálom, hibát dob, ha nincs meg minden file. Amikor indítom az alkalmazást, akkor ellenőrzi is, minden megy korrekten. Megcsináltam, hogy a beraktam egy reigstry kulcsot a Run-ba, hogy induljon el a program rendszerindításnál. Amikor aztán indul a Windows, hibát jelez, hogy a file-okat nem találja. Megnéztem a kulcsot, a program teljes útvonalát tartalmazza. Igazából nem értem, hogy mi lehet a gondja. A registry-ben az összes mellékelt file-ról is kell kulcs? -
manrick
tag
Sziasztok.
Adott a következő forrás:
private void button1_Click(object sender, EventArgs e)
{
// kapcsolódás
Chilkat.Imap imap = new Chilkat.Imap();
imap.UnlockComponent(''UnlockCode'');
imap.Connect(''név.domain.hu'');
imap.Login(''user'', ''pass'');
imap.SelectMailbox(''Inbox'');
if (imap.IsConnected())
{
textBox1.Text = (''Csatlakozva...'');
}
// levelek listázása
Chilkat.MessageSet msgSet;
msgSet = imap.Search(''ALL'', true);
Chilkat.EmailBundle bundle = new Chilkat.EmailBundle();
bundle = imap.FetchBundle(msgSet);
Chilkat.Email email;
listBox1.Items.Clear();
int i;
for (i=0; i<bundle.MessageCount; i++)
{
email = bundle.GetEmail(i);
listBox1.Items.Add(email.From + '': '' + email.Subject);
richTextBox1.Text = email.Body;
}
// XML-be mentés
bundle.SaveXml(''bundle.xml'');
imap.Disconnect();
}
Szépen működik is, a listBox1-be bekerülnek a levelek (feladó: tárgy)
A richTextBoxba pedig az utolsó levél szövege.
Azt szeretném elérni, hogy ha kattintok a listBoxban az egyik levélre, akkor azt mutassa a richTextBoxba.
Tudna nekem valaki segíteni?
Előre is köszi!
Manrick -
manrick
tag
válasz
Jester01 #347 üzenetére
Köszi a segítséget megnézem, remélem jutok vele valamire.
Nem igazán találtam kész megoldást. A helyzet az, hogy logolni kell mindent. Ki milyen levelet nyit meg, szabályozni kell hogy visszazárhassa. Egy postafiókból dolgozik az osztály. A teljesítmény mérése a cél.
De ha van ötlet, szívesen veszem. -
andriscs
aktív tag
válasz
Jester01 #345 üzenetére
Hi!
Mikor kivettem a readString-et, akkor is rosszult működött. Igazából köztes megoldásanak azt csináltam, hogy beleraktam egy reader.readString-et, így eggyel több az olvasás. Emiatt most megy. Próbálkoztam azzal, hogy a while-ban a feltételt nem a Read-hez kötöm, hanem egyéb megoldásokhoz. Például:
while(reader.ReadState==ReadState.EndOfFile)
...
vagy
while(reader.EOF)
...
De ezeket használva nem olvasott be semmit.
Majd még átnézem, hogy mi a baj. -
manrick
tag
Sziasztok!
Kaptam egy jó kis feladatot a cégnél. Írni egy levelezőklienst mert az outlook nem szolgálja ki a cég egy bizonyos osztályát kellőképpen (ez volt a rizsa)
A problémám az, hogy még sosem programoztam C# -ban viszont ezt kell használnom.
Kicsit utánanéztem a dolgoknak. Van egy exchange szerverünk. Mivel az outlook-exchange kapcsolat titkos, ezért más kellett kitalálnom. Mégpedig az IMAP protokollra gondoltam. Azért erre, mert ez képes arra, hogy egyszerre több felhasználó legyen bejelentkezve, folyamatos az online kapcsolat.
Tehát megnéztem hogyan is működik ez az IMAP. Igazából csak a levelek fogadására jó, tehát a küldéshez szükségem lesz SMTPre is. A kapcsolódás ugyan úgy jön össze mint a pop3 as levélfogadásnál. (meg kell adni az elérési utat)
Viszont gőzöm nincs hogyan álljak neki. Beszereztem egy könyvet, a címe Programozás C# nyelven. Ebben az alapok benne vannak.
Örülnék, ha valaki tudna segíteni, hogy hogyan tudnám lekérni egy adott postafiók leveleit (mondjuk egy listába). Legalább el tudnám kezdeni valahol.
A programozás alapokkal nincs gond, az egyetemen is tanítanak programozást. Csak nem ezen a nyelven
Bocsi ha sok off lenne benne.
Előre is köszi a segítséget.
Manrick -
andriscs
aktív tag
Hi!
Már korábban is írtam XML problémákról, most itt egy újabb.
Adott az alábbi XML file:
<?xml version=''1.0'' encoding=''windows-1250'' ?>
- <root>
<item value=''fekete asztal''>ok</item>
<item value=''piros kefe''>ok</item>
<item value=''lila csap''>ok</item>
</root>
Van egy olvasó metódus, ami jól működik, csak mégsem. Szóval elkezdi olvasni, megtalálja a root elemet, majd a 2. és a 3. node-ot. Az első kihagyja. Miért?
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
{
MessageBox.Show(reader.readString());
...
Ötletek? -
Gregorius
őstag
válasz
whitewolf5 #342 üzenetére
Öhmm. A közvetlenül az oszlophoz való hozzáférés általában tervezési hiba, merthogy nem izolálja megfelelően az alkalmazáslogikát meg a megjelenítést. Ilyenkor szoktam emlegetni, hogy mi van, ha felveszel még egy oszlopot, vagy átrendezed őket? Jól tervezett appnál ilyenkor a meglévő kódon nem kell módosítani.
-
whitewolf5
csendes tag
De gyorsabb..és szebb is.
Van Null érték esetén is lehetőség text megadására de az nem oldja meg ezt a problémát. Én azon csodákozom hogy mondjuk GridView.Columns(''Évjárat'').Value nincsen, mindenhol csak az oszlopnevet irja ki, ToStringnél stb. Nem furcsa ez h VS2005-ben nem lehet egyszerűen hozzáférni egy oszlop értékeihez?(Vagy csak én nem tudok..)
-
Gregorius
őstag
válasz
whitewolf5 #340 üzenetére
Így nem szebb/jobb/gyorsabb?
CASE WHEN Raktár IN (1,2,9,13,15,17) THEN...
Amúgy meg a WinForms-os DataGridView-ben vaon olyan tulajdonsága a binding-nek, hogy (null) érték esetén mit írjon be. Asp-ben ilyen nincs?
[Szerkesztve] -
whitewolf5
csendes tag
válasz
Jester01 #339 üzenetére
OK megoldottam így:
select BeszSorszám, Leírás,Tipus,Raktár,Évjárat=case when Raktár like 1 or Raktár like 2 or Raktár like 9 or Raktár like 13 or Raktár like 15 or Raktár like 17 then 'Új' else évjárat end,Szín,Térfogat,PicturePath,Extrák,Új,Kép1kicsi where ....
De ez akkor is hihetetlen számomra hogy DetailsView-val el lehet érni az oszlopok értékeit elég egyszerűen, GridView-nál meg senki sem tud róla..? -
Jester01
veterán
válasz
whitewolf5 #338 üzenetére
Simán meg lehet csinálni a lekérdezésben.
-
whitewolf5
csendes tag
Igen ezt már megcsináltam annál az oszlopnál ahol lehetett, de most nekem az lenne a célom, hogy azoknál az adutóknál amik a 4-es és 8-as raktából jöbbek az évjárat oszlopba ''ÚJ'' szöveg kerüljön. Ezt sztem csak kódbol lehetne megoldani mégpedig ha a raktár értéke = 4 vagy 8 akkor ennek az oszlopnak az értékét cserélje ki ''ÚJ''-ra.
DetailsView -val már megoldottam ott egyszerű de Gridviewnél nem jöttem rá:
If DetailsView1.Rows(3).Cells(1).Text = ''0'' Then
DetailsView1.Rows(3).Cells(1).Text = ''Nincs Adat''
End If
Ezt nem lehet valahogy megcsinálni GRIDVIEW-val? -
shev7
veterán
válasz
whitewolf5 #336 üzenetére
a gridview adatbazisbol veszi az adatokat? Akkor legegyszerubb lenne a lekerdezest modositani...
-
whitewolf5
csendes tag
Sziasztok!
Rengeteg helyen próbálkoztam már de sehol nem kaptam választ a következő problémámra:
Visual Studio 2005-ben létrehoztam egy asp oldalt amin egy GridView található. Beállítottam ezt a GridViewt ahogy kell és minden működik is. Azt szeretném megoldani hogy az egyik oszlopában (Autók Évjáratát jeleníti meg), át szeretném írni azokat az adatokat amik ''0'' vagy egyéb rossz értéketket vesznek fel arra hogy ''nincs adat''. Van erre valakinek ötlete? -
kave
csendes tag
válasz
andriscs #332 üzenetére
Szia,
A CheckBoxok a TabPage-en vannak, vagy valamelyik GroupBox-ban?
A GroupBox-nak van saját ControlCollection-je, tehát ha valamit beleraksz a GroupBox-ba, akkor az a GroupBox.Controls - listában lesz benne és nem a TabPage.Controls-ban.
Ha a TabPage-en akkor, nem tudom mi lehet a hiba. -
andriscs
aktív tag
Hi!
Szeretném megszámoltatni egy TabPage-en a CheckBox-ok számát. A TabPage-en van GroupBox pár db, illetve egy Button, meg 3 CheckBox.
A kód a következő:
Control.ControlCollection coll = this.MyTabPage.Controls;
int numOfControls=0;
foreach (Control contr in coll)
{
if (c.GetType()==typeof(CheckBox)) numOfControls++;
}
A probléma az, hogy megtalál minden Controll-t, külön, de a 3 CheckBox-ot egynek veszi. Hogyan lehet külön megszámoltatni? -
kave
csendes tag
válasz
Jester01 #330 üzenetére
Hali,
Kicsit részletesebben a server kódja:
TcpListener server = null;
try
{
int port = 15000;
server = new TcpListener(IPAdress.Parse(''80.99.204.28'', port);
server.Start();
Console.Write(''Server started... '');
Byte[] bytes = new Byte[256];
String data = null;
while (true)
{
TcpClient client = server.AcceptTcpClient();
data = null; //Eddig már nem jut el
NetworkStream stream = client.GetStream();
stream.Read(bytes, 0, bytes.Length);
...
Az ip-címem jó, és figyel is a porton, de nekem mégis úgy tűnik, hogy a cliens nem találja meg a servert.
A kliens kódja:
Int32 port = 15000;
TcpClient client = new TcpClient(''80.99.204.28'', port);
Byte[] data = System.Text.Encoding.ASCII.GetBytes(''3 '' + textBox1.Text +'' ''+ textBox2.Text );
NetworkStream stream = client.GetStream();
// Send the message to the connected TcpServer.
stream.Write(data, 0, data.Length);
... -
Mikyyy
csendes tag
Sziasztok!
Visual Basic 2005 Express-ben írtam egy kisebb progit és szeretném az adatokat egy Access táblába elmenteni, de nem nagyon sikerül, pedig a fekete könyvből is néztem hozzá kódot. Nagyon fontos lenne, hogy ezt meg tudjam oldani, úgyhogy ha valaki tud nekem segíteni, akkor nagyon hálás lennék!!!!!!!Sajnos nem sokáig tudok fórum közelben maradni, úgyhogy megadom az e-mail címem: mikyy@freemail.hu Köszi!! -
Pazo
tag
csatlakoznék az előttem szólóhoz, csak engem a 322 megoldása érdekelne. köszi
-
kave
csendes tag
Hali.
A 321 hsz-hez van valakinek otlete?
Koszi -
Pazo
tag
válasz
andriscs #323 üzenetére
a label tuti, hogy nem lehet null, mert ahogy írtad is az InitializeComponent() metódus beállítja a kezdőértékeit, így már él és virul. én ezt próbáltam ki és működik:
private void button_Click(object sender, EventArgs e)
{
textVáltoztat(label1);
}
private void textVáltoztat(Label l)
{
l.Text += '' Ez a legutóbb hozzáfűzött szöveg...'';
}
a formon nincs semmi más, csak a label és a button. a label autosize tulajdonsága nálam false - elvileg nincs jelentősége, de elképzelhető, hogy úgy sikerült letenned a labelt, hogy már a formon kívülre írja a szövegeidet, és emiatt nem látod.
a null megjelenését azt nem értem. nekem a designerben ilyen a label:
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = ''label1'';
this.label1.Size = new System.Drawing.Size(186, 75);
this.label1.TabIndex = 1;
this.label1.Text = ''label1''; -
andriscs
aktív tag
Hi!
Újabb érdekes probléma.
Egy Form-ot húzogattam össze, és eddig raktam rá egy Label-t. A progi egy metódusában megváltoztatom a Label Text-jét. Azonban amikor meghívom, Exception-t dob. Gondoltam, hogy ez így nem lesz jó, ezért kiírattam a hibát, és hát ''Object reference not set to an instance...''. Ellenőriztetem a Label-t, mielőtt átírom:
if(this.myLabel==null) MessageBox.Show(''Null'');
else
this.myLabel.Text=''uj szoveg'';
Természetesen megjelent a Null, de igazából nem értem, mert a generált kódban ez van:
this.myLabel = new System.Windows.Forms.Label();
...
this.myLabel.AutoSize = true;
this.myLabel.Location = new System.Drawing.Point(128, 47);
this.myLabel.Name = ''myLabel'';
this.myLabel.Size = new System.Drawing.Size(38, 13);
this.myLabel.TabIndex = 1;
this.myLabel.Text = ''alapszoveg'';
...
this.Controls.Add(this.myLabel);
Próbáltam logikus magyarázatot keresni, de nem találok, persze lehet, hogy már késő van. Ha valakinek van ötlete, ne kíméljen. Köszi! -
Pazo
tag
sziasztok,
vágjunk bele :
van három formom: FormStart, FomrOktato, FormHallgato. a start csak egy egyszerű választás két gombbal, hogy oktató vagy hallgató leszelés majd az oktatót be is kéne jelentkezteti, de majd csak később. a másik két formon meg egy vizsgáztató rendszer funkcióinak megfelelő szolgáltatásokat bonyolít(ana). azt szeretném megcsinálni, hogy ha a startot maximalizálom vagy elmozdítom a képernyő közepéről, akkor a következő ablak is ott jelenjem meg, ahol a szülő volt, szal ne lehessen észrevenni, hogy különböző formok között navigálok és ugyenez vissza is kéne.
eddig azzal próbálkoztam, hogy minden form tudja hogy ki a szülője/gyereke, és másoltam a windowstate és a location tulajdonságokat, de amikor a gyerekről visszatértem a szülőre (aki a gyerek élete alatt folyamatosan invisible de él - és a gyerekről való visszatéréskor gyerek meghal, szülő látható), akkor a szülő megbolondult, mert pl nem lehetett normálra venni a maximalizált ablakot. az átméretezhetőséget kikapcsoltam, hogy azzal ne kelljen törődni, de ekkor épp ez jelenti a problémát, mert ha kimegy a hallgató max-ra és visszatértek a startra, akkor a start normális mérete is teljes képernyős
this.WindowState = szülő.WindowState;
this.Location = szülő.Location;
this.StartPosition = szülő.StartPosition;
this.Size = szülő.Size;
még így sem ment.
valakinek van ötlete?
egy másik probléma még ezekkel az ablak elhelyezéses cuccokkal, hogy ezeken kívül van még egy FormEredmények form, amit pedig a szülőjének a közepén szeretnék megjeleníteni miközben a szülő látható de enabled és a tálcán nem kéne hogy megjelenjen az új ablak.
csupán ennyi nyűgöm van -
kave
csendes tag
Hi!
A következő gondom lenne a TcpListener használatával. (MS VS2005, .net 2.0) Csak a helyi geprol tudom elerni a servert.
Tuzfal, virusirtó kikapcs nem segít.
//server
TcpListener server = null;
int port = 15000;
server = new TcpListener(IPAddress.Parse(''127.0.0.1''), port);
server.Start();
Console.Write(''Server started... '');
Byte[] bytes = ....
//cliens
Int32 port = 15000;
TcpClient client = new TcpClient(''localhost'', port);
Byte[] data = ...
Ez igy működik.
Ha átírom :
1.
server = new TcpListener(IPAddress.Parse(''80.99.204.28''), port);
TcpClient client = new TcpClient(IPAdress.Parse(''80.99.204.28''), port); -ra akkor mar hibat ir ki:
A kapcsolódási kisérlet nem sikerült, mert a kapcsolódó partner nem válaszolt a megadott időn belül.
2.
server = new TcpListener(IPAddress.Parse(''80.99.204.28''), port);
TcpClient client = new TcpClient(''localhost'', port);
nem hozható létre a kapcsolat mert a célszámítógép már visszautasította a kapcsolatot.
3.
server = new TcpListener(IPAddress.Any, port);
TcpClient client = new TcpClient(''localhost'', port);
Ez megint működik. (ha ugyan azon a gepen fut a server es a cliens)
4.
server = new TcpListener(IPAddress.Any, port);
TcpClient client = new TcpClient(IPAdress.Parse(''80.99.204.28''), port);
A kapcsolódási kisérlet nem sikerült, mert a kapcsolódó partner nem válaszolt a megadott időn belül.
5.
server = new TcpListener(IPAddress.Any, port);
fordításnál: Warning 1: 'System.Net.Sockets.TcpListener.TcpListener(int)' is obsolete: 'This method has been deprecated.
Please use TcpListener(IPAddress localaddr, int port) instead.
Ha futtatom akkor a hiba ugyan az.
Köszi a segítséget.
[Szerkesztve] -
andriscs
aktív tag
válasz
Gregorius #319 üzenetére
Hi!
A lényeg nem konstruktoron volt, hanem hogy lehessen eltüntenni, ehhez pedig bőven elég, ha a példában található DropDown-t castolom ToolStripDropDown-ra, mert akkor már van ShowImageMargin property-je, nem kell semmi vesződni extra dolgok létrehozásával. Amúgy köszi a segítséget. -
andriscs
aktív tag
Hi!
Az a problémám, hogy van egy ContectMenu-m, aminek van egy dropdown menüje. A context menüben beállítottam, hoyg ne legyen Image Margin, de a dropwdown menünek nem tudom. Körbenéztam a neten, de csak 1 megoldást találtam, ami elvileg at MSDN-hez tartozik, és elég furcsa.
Itt találaható
[link]
Már az is furcsa benne, hogy
ToolStripMenuItem noCheckNoImage = new ToolStripMenuItem(''No Check, No Image'');,
mert ilyen konstruktora nincs a toolstripmenuitem-nek, de biztos csak én nem találtom, és ők oldották meg valahogy.
Szóval a lényeg, hogyha van valakinek okosabb, szebb, értelmesebb megoldása, ne tartsa magában. Köszi! -
amargo
addikt
Halee!
Nem megfelelő megoldás Document imaging writer porton történő tesztelgetés.
Nyomtató van, csak local nincs.. de most kineveztem egy hálózatit, amit nem hazsnálnak
A spool környékén kerezsgélek.. de az igazi az lenne, ha valami API vagy akármilyen hívással a nyomtató felé lehetne kérdést intézni..
Bár még itt is közbe jöhet, hogy begyűrte a lapot.
De egy szigorúszámadás nyomtatásánál.. elég durva megkérdezni, hogy sikerült a nyomtatás? És felhasználóra bízni..
Még keresem a megoldást -
Pazo
tag
én nem nagyon értek ezekhez az elkapás dolgokhoz (még), de saját tapasztalat alapján az xp semmit sem reagál, ha nem megy a nyomtatás. vagy te azt a kis felhőt akarod elkapni, ami felugrik a tálca jobb oldalán, amikor pl kifogyott a papír? hmmm...
ha most nincs nyomtatód és mégis a nyomtatáőst akarod tesztelni, szerintem tegyál fel egy pdfFactory-t. ez egy ''nyomtató szimulátor'' program, virtuális nyomtató, pdf-be nyomtat. egyedüli hátránya az lehet, hogy mindig működik, így nem lesz mit elkapnod. arra viszont jó, hoyg a kimeneteket formázását ellenőrizd.
lehet semmit sem segítettem. de remélem azért mégis. -
amargo
addikt
Nos azért ide írok, mert itt edig sokat tudtak segíteni.
Volna egy problémám:
Nyomtatás
Nyomtatni kellene, viszont egy kis csavarral.
Van egy plugandplay nyomtató, még sajna a márkája nem ismert előttem, de talán valami HP lesz.
Nos meg kellene oldani, hogy kinyomtatok valamit, akkor ha valamiért nem teljesül a nyomtatás, hiba üzenetet eltudjam kapni. Teszem azt, közben áramszünet tört ki.. vagy kifogy nyomtatás közben a tinta.. hirtelen elveszti a kapcsolatot a OS a nyomtatóval.
Mind ez windows on.
Rendszer üzeneteket ellehet, kapni, de a nyomtató áramszünet esetén mit reagál.. stb?
Sajna nincs most nálam nyomtató ezért nem tudom ezt kipróbálni, de ha valaki tud pár hasznos infóval szolgálni az jó lenne. Ha minden féle hiba lehetőségre, maga az OS hiba üzit dob(én ezt gondolom, de hátha nem), az lenne az ideális, mert azt megfogva, meglehet tudni, hogy ténylegesen kinyomtatta-e az oldalakat, azokkal a beállításokkal, amikkel kellet.
Köszönet előre is!
amargo -
andriscs
aktív tag
Hi!
Oké, bemásolom, csak annyira magától értetődőnek gondoltam,,,
string file=''file.xml'';
XmlTextReader reader = new XmlTextReader(file);
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
if (reader.HasAttributes)
MessageBox.Show(reader.Value.ToString())
break;
}
}
A xml file pedig a következő:
<?xml version=''1.0'' encoding=''windows-1250''?>
<root_tag>
<data value=''value1''>data1</data>
<data value=''value2''>data2</data>
</root_tag>
Ebből kellene a data1 és a data2.
[Szerkesztve] -
andriscs
aktív tag
Hi!
Az XML-lel foglalkozom mostanában, és van egy érdekes problémám. Van egy XML file, amiben ilyen tag-ek vannak:
<tag_name atrr=''value1''>hello</tag_name>
nekem kell belőle a ''hello'', ezért a következőt csináltam.
Létrehoztam egy XMLReader-t, majd while ciklussal megyek benne végig:
while(reader.Read())
{
MessageBox.Show(reader.Value.ToString());
}
Mivel ez az adott node értékét írja ki, ezért meg kellene jelennie a hellonak, de üres. Ötlet? -
Pazo
tag
helló,
egy olyan visszaszámlálóControlt akarok csinálni, ami ha lejár az idő, akkor lefuttatja egy button click eseményét. a button referenciáját a konstruktorban adom át, az idő lejártát a control timeréánek tick eseményében figyelem. hogyan tudom lefuttatni a button click eseményéhez tartozó metódust?
előre is köszi
ui: néztem az msdn-t, de még semmi idevágót nem találtam.
[Szerkesztve] -
-
Pazo
tag
válasz
Gregorius #300 üzenetére
helló,
még mindig a desing-t csinálom a vizsgáztató progimnál. kérdés: hogyan lehet egy tabcontrol tabpage-jei között buttonokkal váltogatni, miközben direkt tiltom a fülek agérrel való használatát. a vizsga menetét akarom jelezni a különböző füleken lévő dolgokkal, és ha pl. kitöltötte a regi-tabot, akkor egy tovább gomb vinné át a másik tabra, ahol már élesben megy a vizsga, és nem lehet visszamenni regelni... ezt szeretném megoldani. van ötleted?
előre is köszi.
ui: már mások is mondták, hagyjam a mysql-t és oldjam meg mssql-lel. ha kész a desing, akkor nekiállok egy kis utánaolvasásnak és lehet, hogy váltok... de egyenlőre még a felső problémán dolgozok.
Ú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!
- HP 635 laptop eladó
- Thinkpad X230 legenda: i7 CPU, IPS kijelző, 12 GB, dupla SSD, magyar villbill, webcam, fingerprint
- Honor X6b 128GB Kártyafüggetlen 1Év Garanciával
- Apple Watch SE2 / 44mm / Midnight / Black Sport / Cellular (99%)
- Mint az ÚJ - Lenovo Legion 5 (Ryzen pro 6600H 16Gb 512Gb SSD) 2 ÉV GYÁRTÓI GARANCIA!!!
- Csere-Beszámítás! Asus Tuf Gamer laptop! R7 3750H / GTX 1650 / 16GB DDR4 / 500GB SSD
- Samsung Galaxy S23 , 8/128 GB , Kártyafüggetlen
- BESZÁMÍTÁS! VALVE Steam Deck LCD 1TB SSD kézikonzol garanciával hibátlan működéssel
- AKCIÓ! Apple Macbook Air 13" 2020 M1 8GB 256GB SSD notebook garanciával hibátlan működéssel
- PROCASTER 40UNB700 40" 101cm televízió + Számla + Garancia
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged