Hirdetés

2024. április 24., szerda

Gyorskeresés

Hozzászólások

(#301) Pazo válasza Gregorius (#300) üzenetére


Pazo
tag

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.

I'll tell you just how stupid Life Insurance is. You're sitting across from a guy. He's betting you you're gonna live, you're betting him you're gonna die! And you're hoping he wins!

(#302) Jester01 válasza Pazo (#301) üzenetére


Jester01
veterán

SelectedIndex propertyt kell állítani. [link]
msdnt senki nem használja? ingyen van... :U

Jester

(#303) Gregorius válasza Pazo (#301) üzenetére


Gregorius
őstag

Egyrészt van a SelectedIndex, másrészt meg a SelectedTab property-vel közvetlen referenciával be tudod állítani.

(#304) Pazo válasza Jester01 (#302) üzenetére


Pazo
tag

de használom. már meg is oldottam, csak eddig a gépre feltet msdn 2004-el szoptam, de meguntam és a netesen is megnéztem, hátha... ott persze hogy kidobott egy csomó találatot. a tabControlHallgató.SelectedTab = tabPageEredmény; mellett döntöttem :))

I'll tell you just how stupid Life Insurance is. You're sitting across from a guy. He's betting you you're gonna live, you're betting him you're gonna die! And you're hoping he wins!

(#305) Jester01 válasza Pazo (#304) üzenetére


Jester01
veterán

Ön jól választott, nyereménye egy programozható tabválasztó :DD

Jester

(#306) Pazo


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]

I'll tell you just how stupid Life Insurance is. You're sitting across from a guy. He's betting you you're gonna live, you're betting him you're gonna die! And you're hoping he wins!

(#307) Jester01 válasza Pazo (#306) üzenetére


Jester01
veterán

Button.PerformClick() [link]

Jester

(#308) Pazo válasza Jester01 (#307) üzenetére


Pazo
tag

ma is imába foglalom a neved :DDD

I'll tell you just how stupid Life Insurance is. You're sitting across from a guy. He's betting you you're gonna live, you're betting him you're gonna die! And you're hoping he wins!

(#309) andriscs


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?

Andris - http://andriscs.blogspot.com

(#310) zoty314 válasza andriscs (#309) üzenetére


zoty314
aktív tag

A kódrészlet jól jönne, ahol a readert létrehozod és végigmész az xml-en, meg egy minta xml is.

(#311) andriscs válasza zoty314 (#310) üzenetére


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]

Andris - http://andriscs.blogspot.com

(#312) Jester01 válasza andriscs (#311) üzenetére


Jester01
veterán

reader.ReadString() kell a reader.Value.ToString() helyett.

Jester

(#313) andriscs válasza Jester01 (#312) üzenetére


andriscs
aktív tag

Hi!

Ott a pont, köszi. :)

Andris - http://andriscs.blogspot.com

(#314) amargo


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

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#315) Pazo válasza amargo (#314) üzenetére


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.

I'll tell you just how stupid Life Insurance is. You're sitting across from a guy. He's betting you you're gonna live, you're betting him you're gonna die! And you're hoping he wins!

(#316) amargo válasza Pazo (#315) üzenetére


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 :(

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#317) amargo válasza amargo (#316) üzenetére


amargo
addikt

[link]

itt a lényeg :)

Bár a begyűrödött a lap szituáció.. +vanasszva.. bár lehet erre is adhibaüzenetet a pappír probléma alatt? Na majd kiderül.

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#318) andriscs


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!

Andris - http://andriscs.blogspot.com

(#319) Gregorius válasza andriscs (#318) üzenetére


Gregorius
őstag

Pedig van neki: [link]
Talán azért nem találod, mert még az 1.x-es .NET-et használod.

(#320) andriscs válasza Gregorius (#319) üzenetére


andriscs
aktív tag

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. :)

Andris - http://andriscs.blogspot.com

(#321) kave


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]

(#322) Pazo


Pazo
tag

sziasztok,


vágjunk bele : :DDD

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 :F
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. :D :D :D

csupán ennyi nyűgöm van

I'll tell you just how stupid Life Insurance is. You're sitting across from a guy. He's betting you you're gonna live, you're betting him you're gonna die! And you're hoping he wins!

(#323) andriscs


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!

Andris - http://andriscs.blogspot.com

(#324) shev7 válasza andriscs (#323) üzenetére


shev7
veterán

nem lehet, hogy a metodus hamarabb fut le mint a label konstruktora?
Vagy a metodus nem ''latja'' a myLabel-t?
MOD: Bar ez forditasi hibat okozna.... marad az elso.

[Szerkesztve]

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#325) Pazo válasza andriscs (#323) üzenetére


Pazo
tag

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'';

I'll tell you just how stupid Life Insurance is. You're sitting across from a guy. He's betting you you're gonna live, you're betting him you're gonna die! And you're hoping he wins!

(#326) andriscs válasza shev7 (#324) üzenetére


andriscs
aktív tag

Hi!

Igen, igazad van. Csak túl késő volt már, nem vettem észre, hogy a konstruktorban nem szerepel az InitializeComponent metódus. Anélkül pedig nem nagyon működhetett....ezt elnéztem. Köszi a segítséget!

Andris - http://andriscs.blogspot.com

(#327) kave


kave
csendes tag

Hali.
A 321 hsz-hez van valakinek otlete?
Koszi

(#328) Pazo


Pazo
tag

csatlakoznék az előttem szólóhoz, csak engem a 322 megoldása érdekelne. köszi

I'll tell you just how stupid Life Insurance is. You're sitting across from a guy. He's betting you you're gonna live, you're betting him you're gonna die! And you're hoping he wins!

(#329) Mikyyy


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!!

(#330) Jester01 válasza kave (#321) üzenetére


Jester01
veterán

Hülye kérdés, mert már biztos alaposan ellenõrizted, de az ip cím az jó?
Hülye kérdés #2: a server.Start() hívás ugye még benne van?

Ha a Start után beteszel egy várakozást és közben megnézed netstat-tal akkor látod hogy figyel a megadott porton?

Jester

(#331) kave válasza Jester01 (#330) üzenetére


kave
csendes tag

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);
...

(#332) andriscs


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?

Andris - http://andriscs.blogspot.com

(#333) andriscs válasza andriscs (#332) üzenetére


andriscs
aktív tag

Hi!

Nincs ötlete senkinek? Ezek szerint valami extrém ritkaságot találtam, és mindenkinek rendesen működik a dolog?

Andris - http://andriscs.blogspot.com

(#334) kave válasza andriscs (#332) üzenetére


kave
csendes tag

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.

(#335) andriscs válasza kave (#334) üzenetére


andriscs
aktív tag

Hi!

Igen, igazad volt, ez volt a probléma, hogy a GroupBox tárolta a CheckBox controll-t. Köszi a segítséget!

Andris - http://andriscs.blogspot.com

(#336) whitewolf5


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?

(#337) shev7 válasza whitewolf5 (#336) üzenetére


shev7
veterán

a gridview adatbazisbol veszi az adatokat? Akkor legegyszerubb lenne a lekerdezest modositani...

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#338) whitewolf5 válasza shev7 (#337) üzenetére


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?

(#339) Jester01 válasza whitewolf5 (#338) üzenetére


Jester01
veterán

Simán meg lehet csinálni a lekérdezésben.

Jester

(#340) whitewolf5 válasza Jester01 (#339) üzenetére


whitewolf5
csendes tag

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..?

(#341) Gregorius válasza whitewolf5 (#340) üzenetére


Gregorius
őstag

Í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]

(#342) whitewolf5


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..) :F

(#343) Gregorius válasza whitewolf5 (#342) üzenetére


Gregorius
őstag

Ö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.

(#344) andriscs


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?

Andris - http://andriscs.blogspot.com

(#345) Jester01 válasza andriscs (#344) üzenetére


Jester01
veterán

A ReadString() már továbblépteti a Readert, így azután már nem kell Read().

Jester

(#346) manrick


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 :F

Bocsi ha sok off lenne benne.

Előre is köszi a segítséget.

Manrick

Az éremnek két oldala van. Nézz a háta mögé is!

(#347) Jester01 válasza manrick (#346) üzenetére


Jester01
veterán

Nemtom, talán nézd meg ezt: IMAP Client library using C# [link]

De biztos, hogy nincs a problémára kész megoldás?

Jester

(#348) andriscs válasza Jester01 (#345) üzenetére


andriscs
aktív tag

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.

Andris - http://andriscs.blogspot.com

(#349) Jester01 válasza andriscs (#348) üzenetére


Jester01
veterán

while(!Reader.EOF)
{
if (Reader.NodeType == XmlNodeType.Element)
{
Console.WriteLine(''{0}: `{1}''', Reader.Name, Reader.ReadString());
} else {
Reader.Read();
}
}

Jester

(#350) manrick válasza Jester01 (#347) üzenetére


manrick
tag

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.

Az éremnek két oldala van. Nézz a háta mögé is!

Copyright © 2000-2024 PROHARDVER Informatikai Kft.