Keresés

Részletes keresés

fwl3d6 Creative Commons License 2009.09.03 0 0 573
Az elso, vagyis hogy vizualisan lenyomodjon. Persze en is tul fogom elni ha ez a feature nem lesz meg,de azert erdekelne...
Előzmény: digicat (572)
digicat Creative Commons License 2009.09.03 0 0 572
Azt szeretnéd, hogy a gomb vizuálisan lenyomódjon, vagy azt, hogy ugyanaz a funkcionalitás hívódjon meg az Enter gomb megnyomásakor mint a gombra klikkeléskor?

Első esetre nem tudom a választ, én egy perc időt sem fektetnék ilyen dolgokba.

Második esetben kell egy metódus, amelyik megcsinálja amit kell, és azt hívod meg mindkét helyről. Amúgy sem jó event handlerbe logikát írni, azok arra valók, hogy onnan hívd meg a megfelelő metódust.
Pl. ha mentésről van szó, akkor:
private void buttonSaveCell_Click(object sender, EventArgs e)
{
SaveCell();
}


private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
SaveCell();
}

private void Save()
{
// itt történik a mentés
}
Előzmény: fwl3d6 (571)
fwl3d6 Creative Commons License 2009.09.03 0 0 571
Sziasztok!

Van egy nyomogombos oszlopom datagridhez, amit lehet Disable -re rakni es akkor ugy fog kinezni mint egy hagyomanyos disabled nyomogomb. Annyiban szeretnem boviteni, hogy mikor rajta vagyok a mezon es Enter-t nyomok (vagyis pontosabban kifejezve amig nyomva tartom az Entert) a gomb is lenyomodjon ugy mintha csak az egerrel kattintottam volna ra.

Nem talaltam erre megoldast gugliban, a paint -et tesztelve pedig ugy talaltam, hogy ugyanolyan parameterkekkel fut le lenyomott es felengedett allapotban is.. Ime a kod amit hasznalok (bocsi, nem tudom hogyan kell forraskodot beilleszteni):

public class DataGridViewDisableButtonCell : DataGridViewButtonCell
{
private bool enabledValue;
public bool Enabled
{
get
{
return enabledValue;
}
set
{
enabledValue = value;
}
}


// Override the Clone method so that the Enabled property is copied.
public override object Clone()
{
DataGridViewDisableButtonCell cell = (DataGridViewDisableButtonCell)base.Clone();
cell.Enabled = this.Enabled;
return cell;
}

// By default, enable the button cell.
public DataGridViewDisableButtonCell()
{
this.enabledValue = false;
}

protected override void Paint(Graphics graphics,
Rectangle clipBounds, Rectangle cellBounds, int rowIndex,
DataGridViewElementStates elementState, object value,
object formattedValue, string errorText,
DataGridViewCellStyle cellStyle,
DataGridViewAdvancedBorderStyle advancedBorderStyle,
DataGridViewPaintParts paintParts)
{
// The button cell is disabled, so paint the border,
// background, and disabled button for the cell.
if (!this.enabledValue)
{
// Draw the cell background, if specified.
if ((paintParts & DataGridViewPaintParts.Background) ==
DataGridViewPaintParts.Background)
{
SolidBrush cellBackground =
new SolidBrush(cellStyle.BackColor);
graphics.FillRectangle(cellBackground, cellBounds);
cellBackground.Dispose();
}

// Draw the cell borders, if specified.
if ((paintParts & DataGridViewPaintParts.Border) ==
DataGridViewPaintParts.Border)
{
PaintBorder(graphics, clipBounds, cellBounds, cellStyle,
advancedBorderStyle);
}

// Calculate the area in which to draw the button.
Rectangle buttonArea = cellBounds;
Rectangle buttonAdjustment =
this.BorderWidths(advancedBorderStyle);
buttonArea.X += buttonAdjustment.X;
buttonArea.Y += buttonAdjustment.Y;
buttonArea.Height -= buttonAdjustment.Height;
buttonArea.Width -= buttonAdjustment.Width;

// Draw the disabled button.
ButtonRenderer.DrawButton(graphics, buttonArea,
PushButtonState.Disabled);

// Draw the disabled button text.
if (this.FormattedValue is String)
{
TextRenderer.DrawText(graphics,
(string)this.FormattedValue,
this.DataGridView.Font,
buttonArea, SystemColors.GrayText);
}
}
else
{
// The button cell is enabled, so let the base class
// handle the painting.
base.Paint(graphics, clipBounds, cellBounds, rowIndex,
elementState, value, formattedValue, errorText,
cellStyle, advancedBorderStyle, paintParts);
}
}
}

Elore is koszonom segitseget!
digicat Creative Commons License 2009.08.31 0 0 570
A regisztrációs kód ingyenes, kérjél sajátot.
Előzmény: fazekaszs9 (567)
fazekaszs9 Creative Commons License 2009.08.30 0 0 569
Nem tudom hogy hol rontottam el de nekem kéri... Én innen töltöttem le a telepítőt: http://www.microsoft.com/express/vcsharp/#webInstall
És kiad egy ilyen ablakot:
http://blogs.msdn.com/blogfiles/devschool/WindowsLiveWriter/NewZuneReviewCreategamesontheZune_7311/image_8.png
Mi volt a gond?
Törölt nick Creative Commons License 2009.08.29 0 0 568
Az expresszhez nem kell kod.
Előzmény: fazekaszs9 (567)
fazekaszs9 Creative Commons License 2009.08.29 0 0 567
Hello!
Kéne egy kis segítség, ugyanis nem sikerül regisztrálnom és aktiválnom a Visual C# 2008 Express "Editionom". Kiad egy ilyen ablakot ahol bekéri a regisztrációs kódot és felajánlja a regisztrációt. Miután regisztráltam elkezd az örökkévalóságig tölteni és kész... Valaki nem tudna megszánni egy ilyen kóddal? Előre is köszönöm!
midnight coder Creative Commons License 2009.07.24 0 0 566
Nem. De egy egyszerű fórumnál elég annyi hogy kiadsz egy query-t a mysql-nek és a resultset alapján generálsz neki egy oldalt. Amúgy meg felesleges arcoskodni, én már 2000 környékén bankkártyával fizetős webes rendszert csináltam C++-ban ami CORBA-n keresztül beszélgetett az üzleti logikával az pedig a DB2 adatbázisszerverrel, és azóta is csináltam egy-két dolgot, meg előtte is az elmúlt 20 év során, ma is jó pár rendszerem futkározik szanaszét az országban.

Természetesen meg lehet írni mindent mindenben, akár COBOL-ban is lehet webshopot csinálni ha kell, de vannak dolgok amik alkalmasabbak az adott feladatra, és vannak amik kevésbé. A PHP olyan feladatokra ahol ténylegesen csinálni is kell valamit a programnak kevésbé. De ha nem hiszed el ezt, akkor beszélj a bankokkal hogy ideje a java alapú rendszereiket PHP-re cserélni, vagy Carmackékkal hogy a doom5-öt már igazán szerencsésebb lenne PHP-ben fejleszteni.
Előzmény: digicat (564)
digicat Creative Commons License 2009.07.23 0 0 564
"itt sok-sok lapot kell egyszerre megjeleníteni"
Nem mondod komolyan... én eddig azt hittem a fórumok úgy működnek, hogy amíg én használom addig a többieknek várni kell. Ezekszerint tévedtem, és egyszerre több ember is használhatja az index fórumot, csak a többi fórumnál kell várakozni egymásra?
Biztos a Gaia Online is úgy termel napi 800 ezer hozzászólást phpBB használatával, hogy a 18 492 488 felhasználó egymásnak adja a billentyűzetet. Ehhez képest nem tudom hol van a index fórum, lehet több, lehet kevesebb post/nap van, de a lényeg az, hogy php-ben írt fórum is ki tud szolgálni sok felhasználót.

Komolyra fordítva a szót: a cache helyes működése sem függ a programozási nyelvtől. Bármilyen nyelven meg lehet írni jól és rosszul.
A szerverfarmot ("méghozzá valószínűleg több szerverrel") pedig szintén nem értem hogy jön ide.

Kezdesz olyan lenni mint averna140anni, aki szerint a php szar, mert C#-ban 40 fájlban lehet webshopot írni, php-ben ehhez 48 kell, arról nem is beszélve, hogy ő látott olyan php weboldalt amelyiknél a warningok is megjelentek, sőt, olyant is, ahol emailküldéskor a feladó nem az volt amit a felhasználó megadott, hanem a postmaster@localhost.
Remélem érted a célzást arra, hogy ő is alapvetően programozói hibákra alapozta a véleményét, ráadásul úgy, hogy beismerte fogalma sincs a php-ről, csak egyszer régen látott valamit aztán annyi.

Ezzel zárom is a threadet részemről:
"Az index Fórum az Internet 4-es metrója. Elvileg qrvagyors rengeteg júzerrel is, gyakorlatilag sok benne a megálló, és sosem épül meg egészen... :))"
Előzmény: midnight coder (562)
midnight coder Creative Commons License 2009.07.23 0 0 563
Nem a nyelvhez, az architektúrához van köze. Bár nem nagyon láttam még ilyen jellegű benchmarkokat, de tapasztalataim szerint a PHP lényegesen lassabb mint a C#/.NET vagy Java, nem beszélve a C++-ról.
Előzmény: DJG (561)
midnight coder Creative Commons License 2009.07.23 0 0 562
Nos, egy alap fórummotorhoz persze semmilyenek, ezt pár óra alatt össze lehet rakni akár PHP-ben, akár C#/ASP.NET alatt, PHP-ben is csináltam már fórumot magamnak, pár óra alatt kész lett úgy hogy akkortájt még alig ismertem a PHP-t, ASP.NET-ben pedig ennél azért jóval bonyolultabb dolgokat szoktam csinálni. De szvsz az index motorja nem csak annyi hogy lapozgatunk egy mysql táblában, itt sok-sok lapot kell egyszerre megjeleníteni, méghozzá valószínűleg több szerverrel. Szerintem ezt az itteni fórummotor úgy csinálja hogy időnként legenerálja az egyes fórumok oldalait statikus fájlba (legalábbis egyes részeit) és a rendszer ezt szedegeti elő. Ezt egyébként esetenként látni is: néha jönnek PHP-s üzenetek hogy nem tud fájlba írni, és ilyenkor valami cache-akármi a fájl neve. Azt persze nem tudom hogy ez mennyire szerencsés ötlet, de az biztos hogy ez a fájlírogatósdi-generálósdi már elég komplex művelet ahhoz hogy az ember ne PHP-ben akarja megírni, legalábbis szvsz.
Előzmény: digicat (560)
DJG Creative Commons License 2009.07.20 0 0 561
Csatlakozom. Nyilvánvalóan programozási hibák és elégtelen hardver következménye a sok hiba, amit látunk, nincs semmi köze a használt nyelvhez. A MySQL pedig, mint tudjuk, vagy gyorsabb, vagy semmivel sem lassabb, mint az MS hasonló szervere, tehát ez sem érv.

A hozzászólás-szerkesztőben a böngészőfüggetlenség nagyobb kérdés (komplett megoldásokkal, persze, csak használni kellett volna), de a \-ek escape-kezelése alighanem egyetlen kitörlendő sor, azt aztán nem lehet semmire ráfogni, csak a mérhetetlen lustaságra és nemtörődömségre...
Előzmény: digicat (560)
digicat Creative Commons License 2009.07.20 0 0 560
Ha php flame-re vágysz akkor ajánlom figyelmedbe a php topikot :-))

A C#-ban fórummotort írók kedvéért kérlek írd le milyen bonyolult algoritmusok szükségesek a hozzászólások rögzítéséhez és megjelenítéséhez?
Előzmény: midnight coder (559)
midnight coder Creative Commons License 2009.07.20 0 0 559
Ezen a fórumon már veszett mennyiségű hiba jött minden irányból. Volt MySQL túlterhelés, volt internal server error, voltak különféle PHP-s üzenetek, volt hogy semmilyen válasz nem jött. Utoljára valamii írási hiba volt, szerintem kézzel generálják a cache fájlokat és ebbe döglött bele. Alapvetően azért tartom rossz ötletnek erre a PHP-t, mert ez már nem a Pistike webáruháza kategória, veszett mennyiségű kérés érkezhet hozzájuk. Azaz itt már komolyabb algoritmus kellhet ahhoz hogy az egész gyors legyen. Márpedig a PHP komolyabb algoritmusok megírására nem igazán alkalmas. Sem maga a nyelv (típuskezelés, stb) sem az architektúra (mivel interpreter nem tud igazán komolyan fordítani, másrészt a dinamikus "típuskezelés" sem az a dolog ami felgyorsítja a futást).
Előzmény: digicat (558)
digicat Creative Commons License 2009.07.17 0 0 558
Fejtsd ki bővebben mire gondolsz. Az összes szerverhiba amit a fórumon láttam nem php-ből vagy MySQL-ből jött, hanem a fórummotorból.

Ha valaki nem kezeli rendesen a hibákat (vajon honnan ismerős ez a téma? :-) akkor bizony ilyen átlagember számára érthetetlen hibaüzenetek jelennek meg :-)
Előzmény: midnight coder (557)
midnight coder Creative Commons License 2009.07.17 0 0 557
Azért az Internal Server Error is elég jól látható.
Előzmény: digicat (555)
DJG Creative Commons License 2009.07.17 0 0 556
Igen, így van, a PHP és a MySQL kiválóan alkalmas erre, nem ott van a baj.
Előzmény: digicat (555)
digicat Creative Commons License 2009.07.17 0 0 555
OFF
Fogadni mernék, hogy php-MySQL párossal ennél nagyobb forgalmú fórumok is működnek.
Ráadásul a problémák látható részét (pl. hozzászólásszerkesztő, hiányos és hibás BBCode, a \ hibás kezelése) nem a php vagy MySQL okozza.
Előzmény: midnight coder (553)
pasa_ Creative Commons License 2009.07.17 0 0 554
10 millio allami mutyiert nyilvan elo volt irva hogy a juzereknek szenvedni kell -- valamit valamiert.
Előzmény: midnight coder (553)
midnight coder Creative Commons License 2009.07.17 0 0 553
Nem tudom honnan vették, de elég vicces jószág hogy 2009-ben csak IE alatt tudjon vizuálisan hozzászólást szerkeszteni - és ott is hogy, miközben már egy jobbnál jobb ingyenes szerkesztők vannak. Persze ez a fórum sem az amit PHP-MySQL párossal oldanék meg ahogy azt az index teszi...
Előzmény: DJG (552)
DJG Creative Commons License 2009.07.17 0 0 552
Hehehe, a rossznyelvek szerint speciel a hozzászólás-szerkesztőt éppen az MS-től vették... :-)))
Előzmény: digicat (550)
Amartus Creative Commons License 2009.07.16 0 0 551
Köszönöm; a web.config-ot használtam fel a célra.
Előzmény: digicat (547)
digicat Creative Commons License 2009.07.16 0 0 550
Mindig elfelejtem, hogy ezt a fórummotort dilettánsok írták, ezért kimaradtak a \ jelek:
"---------------------------
Visual Web Developer 2008 Express Edition
---------------------------
The automatically saved settings file 'C:\Documents and Settings\user1\My Documents\Visual Studio 2008\Settings\VWD Express\CurrentSettings.vssettings' cannot be found. You can change this file on the 'Import and Export Settings' Tools Options page. The IDE will use your most recent settings for this session.
---------------------------
OK
---------------------------"
Előzmény: digicat (549)
digicat Creative Commons License 2009.07.16 0 0 549
Ez egy nagyon szép, korrekt, jól megfogalmazott hibaüzenet:
"---------------------------
Visual Web Developer 2008 Express Edition
---------------------------
The automatically saved settings file 'C:Documents and Settingsuser1My DocumentsVisual Studio 2008SettingsVWD ExpressCurrentSettings.vssettings' cannot be found. You can change this file on the 'Import and Export Settings' Tools Options page. The IDE will use your most recent settings for this session.
---------------------------
OK
---------------------------"

Ugye mennyivel jobb, mint a valahol mélyen levő FileNotFoundException? Kit érdekel, hogy az milyen nyelven van, ha az eszköz amit használ lefordítja neki nem csak nyelvileg, hanem értelmileg is?
midnight coder Creative Commons License 2009.07.14 0 0 548
Ha már benne van a load-ban akkor általában nem nagyon tudod lelőni, illetve nem feltétlenül egészéges. Pl. egy adatbázisművelet. Igazából a dolog arra való, hogy ha a user kóvályog egy master-detail tábla master táblájába akkor ne kelljen minden egyes mozdulatánál lerántani az adatbázisból a query-vel a detail-t illetve végrehajtani az esetleges számításokat, csak akkor ha megállapodik valahol. Mondjuk a 2 másodperc egyébként tényleg sok egy kicsit, lehet lejjebb is venni. De az nem szerencsés ha időzítés nélkül minden master mozgáskor lerántja a dolgot, mert ha a processt le is lövöd, Pl. ha a túloldalon az erőforrások még felzabálásra kerülnek, különösen ha nem közvetlenül, hanem Pl. webservice-en keresztül éred el a detailt.
Előzmény: tarpista (545)
digicat Creative Commons License 2009.07.14 0 0 547
1) A webservice nem egy objektum amit létrehozol és használsz (a kliensen csak egy proxy osztályt hozol létre, nem magát a webservice objektumot, nézd meg a generált kódot!), ezért a setBeleptetes metódusban beállított _User nem ugyanaz mint a getVisszaAdatok metódusban használt _User, hiszen a this mindkét esetben más.
Természetesen vannak más megoldások állapot (nem adatok!) tárolására, pl. WebService.Session Property. Adatok tárolására az adatbázis való.

2) Rossz megoldás a felhasználótól kérni be az adatbázis felhasználónevet és jelszót. Nagyon kevés kivétel van, pl. ha egy adatbázis adminisztrációs felületet csinálsz, de egy átlag alkalmazásban csak az adatelérési réteg ismeri az adatbázis hozzáférési adatait, a kliens alkalmazások nem.

3) A connection string helye konfigurációban van, pl. web.config (van benne dedikált hely a connection stringnek).

4) Metódusok neve nagybetűvel kezdődik (Method Naming Guidelines).

5) Tagváltozók neve kisbetűvel kezdődik és lehetőleg nincs prefixük. C#-ban általában nem használatosak a prefixek, ez több helyen explicit módon le van írva (Hungarian notation sem). Mivel case sensitive ezért a Property és a member változók neve prefix nélkül sem ütközik (string Property { get { return property; } }) és mindig egyértelmű mi micsoda.

6) A conn ne legyen member változó, hanem amikor szükség van rá akkor létrehozod, természetesen try-finally blokkban (magától nem záródik be!).

Nem tudom mi a webservice feladata, de ha szükséges a felhasználók azonosítása és azonosított session használata akkor egy metódus csinálja az azonosítást (login), létrehozza a sessiont és a többi metódus a session alapján ellenőrzi, hogy a hívó fél jogosult-e a hívásra. Ez a felhasználó nem adatbázis felhasználó, az adatbázis felhasználó konfigurációban van tárolva (a connection stringben), ill. nem tudom az Oracle-ben van-e Windows authentication, de ha igen akkor azt célszerű használni, mert nincs szükség jelszó tárolására.
Nem árt egy Logout metódus és egy session timeout sem.
Előzmény: Amartus (546)
Amartus Creative Commons License 2009.07.13 0 0 546
Üdv!

Webszervízen keresztül érem al adatbázist, abban van a connectstring. Egy dialog formon keresztül gondoltam a kapcsolati adatokat megadni és a webszervízben eltárolni. Az egyik webmethod-ban át is veszem az adatokat és összerakom a connectstringet, de az adatlekérő webmethod-ban már hiányoznak az adatok a connectstringből.
public class Service : System.Web.Services.WebService
{
OracleConnection conn = new OracleConnection("server=valami; pooling=false");

private string _User;
private string _Pwd;

public Service () {

//Uncomment the following line if using designed components
//InitializeComponent();
}


[WebMethod]
public string setBeleptetes(string p_user,string p_pwd)
{
conn.ConnectionString = conn.ConnectionString+ "; user id=" + p_user + "; pwd=" + p_pwd ;
conn.Open(); -- itt ez működik
_User = p_user;
_Pwd = p_pwd;
}

[WebMethod]
public string getVisszaAdatok()
{
conn.ConnectionString = conn.ConnectionString + "; user id=" + _User + "; pwd=" + _Pwd;
conn.Open(); -- ez már nem működik

return conn.ConnectionString; -- ebben csak az van, amit eredetileg beleraktam+string constansok, illetve a változók értékei nincsenek benne
}



Tudna valaki segíteni?
tarpista Creative Commons License 2009.07.13 0 0 545
En is gondoltam erre, de ezt azert nem tartom jo megoldasnak, mert egyreszt a valaszidot is megnoveled 2 masodperccel, masreszt nem oldottad meg azt a problemat, hogy a user a load elindulasa utan is modosithason ugy, hogy a toltesi ido ugyanannyi maradjon.
Előzmény: midnight coder (540)
tarpista Creative Commons License 2009.07.13 0 0 544
"ad1: a load figyel egy változót, hogy nem kell-e félbehagynia/előről kezdeni a munkáját... persze felteszem, hogy ezt multithreadban gondolod"

Single threadben gondolom,de az ujrakezdes lesz a megoldas valoban, annyival kiegeszitve hogy egyszerre csak egy futasat engedelyezem a load-nak. (Vagyis nem all elo az ahelyzet hogy elindul a load -> kattintas -> elozo load felbeszakad, uj load indul, lefut -> visszateres az elozo loadra)

"ad2: hanem, hová tegye a visszatérési címet? ha lefutott az eljárás, ugorjon egy véletlenszerű címre?"

Jobb rekurziv fuggvenyek eseteben (vagyis amikor a (resz-)eredmenyeket parameterkent ujra mindig atadod, vagy kulso valtozokban tarolod oket) akkor eleg lenne az elso hivas elotti visszateresi cimet eltarolni. Erre akart iranyulni a kerdesem, hogy ilyet lehet-e microsofteknal.
digicat Creative Commons License 2009.07.13 0 0 543
Sejtettem, de ettől függetlenül létezik a többféle timer és könnyű elsiklani afölött, hogy van amelyik másik threadben működik.
Előzmény: midnight coder (542)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!