Új hozzászólás Aktív témák
-
válasz
#51177472 #4799 üzenetére
Az a baj h sajna ha tudnam miert nem mukodik, mar elorebb lennek.
Szerintem arra gondolt Jester01, hogy másold be az általad összedobott kódrészletet, aztán segíthetnek.A problémámra, amihez a hipermontázs is készült végül az lett a megoldás, hogy a problémás részeket töröltem a kódból, ezután már hiba nélkül ment. A könyvben azért szerintem egyáltalán nem volt egyértelmű, hogy mit is kell ezzel kezdeni..
-
Jester01
veterán
válasz
Jester01 #4797 üzenetére
using System;
using System.Windows.Forms;
public class MainForm : Form
{
private Label _label;
private Timer _timer;
private double _counter;
static public void Main ()
{
Application.Run (new MainForm ());
}
MainForm ()
{
_label = new Label();
Controls.Add(_label);
_timer = new Timer();
_timer.Interval = 100;
_timer.Tick += TimerTick;
_timer.Start();
}
void TimerTick(object sender, EventArgs args)
{
_counter += 0.1;
_label.Text = _counter.ToString("0.0");
}
} -
#51177472
törölt tag
Van egy timer-em, ami kattintásra 10-et ad hozzá egy label-hez. Ez tök jó, viszont beszeretném állítani, hogy 1 tizedessel is mutassa az értéket, ne csak 10-et adjon másodpercenként hozzá, hanem közben számoljon is el 1-10ig, 20-30ig, stb, tehát decimal kéne nekem. Milyen sorral lehetséges ez? Köszi.
-
drkbl
őstag
-
Bobrooney
senior tag
Srácok, mivel tudom figyelni hogy egy textBox-ban történt-e változás?
-
#51177472
törölt tag
Köszi. Már jó is.
Illetve egy label hátterét hogy tudom áttetszővé tenni? -
vlevi
nagyúr
válasz
#51177472 #4779 üzenetére
Szerintem, ha kiolvasod a labelből, mi van beleírva.
if (!int.TryParse(label2.text,i){
i=0;
}
i++;label2.Text = i.ToString();
A tryparese az i változóba beleírja a kapott textből kiolvasott numerikus értéket, ha sikerült a konverzió, és true-val tér vissza. Ha a konverzió nem sikerül, akko rnem ír a kimeneti változóba, és false-t ad vissza.
-
#51177472
törölt tag
Van egy label2-m és egy timer1-em. A timer kattintásra elkezd számolni másodpercenként, ez a label2-re van irányítva. Viszont ha a label2-n van x, akkor ő nem az x-től folytatja hanem előröl kezdi a számolást 0-áról. Hogy kéne beleírni, hogy a label2 értékéhez adja hozzá?
private void timer1_Tick(object sender, EventArgs e)
{
i++;
label2.Text = i.ToString();köszi.
-
#51177472
törölt tag
Illetve lenne egy kérdésem.
Csináltam egy click counter-t, az lenne a kérdés, hogy egy klikkelésnek az értékét hogyan tudom lecsökkenteni? Tehát egy kattintásnál ne 1-et, hanem 0,1-et számoljon?
Köszi -
#51177472
törölt tag
Szerk: semmi, megvan.
-
Szabesz
őstag
Nem int[] konstruktorú.
class Kez
{
private int[] kez;public Kez(int[] kez)
{
this.kez = kez;
}public Kez()
{
kez = new int[4];
}public int[] getKez()
{
return kez;}
}Így már az.
Itt meg:
public static void Osztas(Pakli pakli, ref Kez kez, int ellenfelszam)
{
kez = new Kez(pakli.Oszto(Pakli.OsztandoLapokSzama(kez.getKez())));
//a hiba: Cannot implicitly convert type 'int[]' to 'Beadando_Fezler_Gabor.Kez'
}A ref-re felhívnám a figyelmed, különben nem sok értelme van ennek a függvényednek.
Implicit / explicit cast-tal lehetne még varázsolni, de egyfelől nem hiszem hogy ezt szeretnéd, másrészt meg az ilyenek elég csúnyák:
class A
{
public static implicit operator int[](A a)
{
return new int[5];
}
}
//wtf
int[] alma = new A(); -
horush
addikt
Hali, tudna valaki segíteni nekem egy kicsit, nem jövök rá, hogy mi a baj a kódommal
(amatőr c#..)
Szal csináltam egy osztályt, ami int[] konstruktorú.
Ez konkrétan ennyi:
class Kez
{
private int[] kez;
public Kez()
{
kez = new int[4];
}
public int[] getKez()
{
return kez;
}
}Majd egy másik osztály egyik függvényében meghívnám, a következőképpen:
public static void Osztas(Pakli pakli, Kez kez, int ellenfelszam)
{
kez = pakli.Oszto(Pakli.OsztandoLapokSzama(kez.getKez()));
//a hiba: Cannot implicitly convert type 'int[]' to 'Beadando_Fezler_Gabor.Kez'
}Ez innen van meghívva:
{
Kez kez = new Kez()
Osztas(pakli, kez, ellenfelszam);
}Nem egészen értem, hogy miért nem fogadja ezt így el, hiszen a Kez osztály is int[] kellene legyen. (Az OsztandoLapokSzama is int[]-et vár).
Előre is köszönöm,
üdv: FG. -
MATEO6600
őstag
Ez így oké, viszont így meg a kép méretét nem lehet változtatni, mert az csak read only. (és sajnos nekem gyakran kell majd a növekedés/csökkenés miatt).
A lényeg, hogy megoldottam másként: 1 sima Rectangleben tárolom amit egy TextureBrush-sal töltöttem ki, ami meg ugye a kép.
Még 1 segítség kéne amire nem találtam sehol választ:
Gombnyomásra (keydown event) ne egy bizonyos X értékkel növeljem/csökkentsem az alakzat x/y koordinátáját (ezáltal mozgassam), hanem legyen a mozgásnak gyorsulása majd lassulása. Nem tudom hogyan kéne ehhez a timer-t használni. (nem XNA-ban csinálom) -
vlevi
nagyúr
válasz
MATEO6600 #4763 üzenetére
Létre kell hozni egy másik bitmap obejktumot, és abba átmásolni. Most nincs előttem csak táblagép, a pontos metódusnevet most ezért nem tudom megmondani.
Csak ne felejtsd el a régi, már nem használt, eredeti képet felszabadítani, pl. a korábban tárgyalt using használatával. -
MATEO6600
őstag
válasz
MATEO6600 #4763 üzenetére
Bocs a dupe-ért, közben sikerült beimportálni rendesen.
Most Bitmap objektumként hivatkozok rá, aminek ugye van x és y koordinátája, így lehet majd mozgatni.
Egy olyan kérdésem lenne még, hogy a bitmap konstruktorába nem lehet olyan értéket megadni, hogy méretarányosan kisebb/nagyobb legyen a mérete? Width és height adott, de az nem arányos formában van ugye. -
MATEO6600
őstag
Sziasztok, segítség kéne!
Egy játékhoz szeretnék használni egy képet.
A kép lenne a főalakzat, amit mozgatni kéne.
A probléma az, hogy nem tudom hogyan kéne a "nem oda illő" részeket levágni róla.
Photoshopban körül vágtam, így néz ki jelenleg: [link]
Ha most fel akarom használni C#-ban, akkor egy négyzet alakú objektumként jelenik meg.
Hogy tudnám azt elérni, hogy a háttéren rendesen látszódjon és ne legyen körülötte kitöltött fehér rész? -
metrion
aktív tag
válasz
Jester01 #4755 üzenetére
Köszi, de nem jó. :S
Amúgy ez a DrawStripe ez csak a függvény fantázianeve?
namespace magyar_zaszlo
{
class Program
{
static void Main(string[] args)
{
int kszelesseg = (Console.WindowWidth / 2);
int kmagassag = (Console.WindowHeight / 2);
Console.SetCursorPosition(kszelesseg, kmagassag);
DrawStripe(kszelesseg, kmagassag, ConsoleColor.Red);
DrawStripe(kszelesseg, kmagassag + 3, ConsoleColor.White);
DrawStripe(kszelesseg, kmagassag + 6, ConsoleColor.Green);
}
static void DrawStripe(int x, int y, ConsoleColor color)
{
Console.BackgroundColor = color;
for (int i = 0; i < 3; i += 1)
{
Console.SetCursorPosition(x, y + i);
for (int j = 0; j < 40; j += 1)
{
Console.Write(' ');
}
}
Console.ReadKey();
}
}
} -
Jester01
veterán
válasz
metrion #4754 üzenetére
Ez több sebből vérzik. Ugye 3-3-3 sort kellene kitenni az egyes színekből, és mivel még nem is a sor elején kezdődik ezért minden sor megkezdése előtt oda is kell pozícionálni. Legjobb ha csinálsz egy függvényt ami adott színből kitesz 3 sort, és azt háromszor meghívod.
DrawStripe(kszelesseg, kmagassag, ConsoleColor.Red);
DrawStripe(kszelesseg, kmagassag + 3, ConsoleColor.White);
DrawStripe(kszelesseg, kmagassag + 6, ConsoleColor.Green);
...
static void DrawStripe(int x, int y, ConsoleColor color)
{
Console.BackgroundColor = color;
for(int i = 0; i < 3; i += 1)
{
Console.SetCursorPosition(x, y + i);
for(int j = 0; j < 40; j += 1)
{
Console.Write(' ');
}
}
} -
metrion
aktív tag
válasz
Peter Kiss #4753 üzenetére
int kszelesseg = (Console.WindowWidth / 2);
int kmagassag = (Console.WindowHeight / 2);
Console.SetCursorPosition(kszelesseg, kmagassag);
for (int i = 0; i < 12; i++)
{
for (int j = 0; j < 40; j++)
{
Console.BackgroundColor = ConsoleColor.Red;
Console.WriteLine(" ");
Console.BackgroundColor = ConsoleColor.White;
Console.WriteLine(" ");
Console.BackgroundColor = ConsoleColor.Green;
Console.WriteLine(" ");
}
}
Console.ReadKey(); -
metrion
aktív tag
Sziasztok!
Magyar zászlót, hogy tudok úgy csinálni, hogy 40 space hosszú legyen és 12 space magas?
Előre is köszi!
-
vlevi
nagyúr
válasz
Peter Kiss #4748 üzenetére
És szükséges is használni, mert vannak esetek, amikor az automatikus garbage collection nem működik.
Egyszer írtam egy kép átméretező móricka alkalmazást magamnak, nagyon egyszerű app volt, végigment a file listán, fileból betöltötte a képet (ami egy új kép objektum), átméretezte, lementette. Csakhogy, mivel ezervalahány kép volt, elszállt out of memoryval, mert a képet nem dobta el a C# automatikusan. -
Peter Kiss
őstag
-
Karma
félisten
válasz
Jester01 #4740 üzenetére
Ilyet éltem már én is; ettől függetlenül szerintem megvan a maga megérdemelt helye az eszköztárban, mert az se ritka, hogy valami regexben kapásból olvasható, száz-ezer sor imperatív kódban meg nem.
(#4742) peter9228: A 48 valójában a '0' karakter ASCII kódja, a Convert.ToInt32 meg teszi a dolgát, és a karakterből ezt állítja elő a char típusból. Használj valami mást a számmá konvertáláshoz, vagy mondjuk használd ki, hogy az ASCII kódból egy egyszerű kivonással (48) megkapod a számjegy értékét.
Amúgy meg StreamReadert csak és kizárólag using blokkal együtt használj, plz!
-
peter9228
aktív tag
válasz
trisztan94 #4743 üzenetére
-
peter9228
aktív tag
Sziasztok!
Egy eléggé kezdő kérdéssel fordulok hozzátok:
Console.WriteLine(sor[j]);
Console.WriteLine(Convert.ToInt32(sor[j]));
Ez a kettő miért ad más eredményt? Azt megfigyeltem, hogy 48-at ad hozzá, ha int-ként iratom ki. Stringként kiírja normálisan. Tehát ha sor[j]=0, akkor ezt írja ki:
0
48
Azért fontos, mert nem kiíratni szeretném, hanem számolni vele, de nem a 0-val, hanem a 48-al számol. 50 db egy jegyű számot kéne összeadnia, de 4 számjegyű összegeket kapok, pedig max 9*50=450 lehetne. -
Jester01
veterán
Regex olvashatatlan, nem lehet karbantartani és debuggolni. Ha ezen felül még a megalkotásához is segítség kell akkor aztán totál fölösleges. Ráadásul ha számít, akkor a kézi megoldás még sokkal hatékonyabb is lehet.
Egyszer hajnalig kerestünk egy hibát mire kiderült, hogy kollega egy nagyobb regexen belül [0-2][0-9]-et használt dátumból a nap kinyerésére és így 30.-án és 31.-én nem működött...
-
trisztan94
őstag
Sziasztok!
Kijött a végleges VS 2013 Professional. Nekem a RC van felrakva. Tudom egyszerűen upgrade-olni, vagy le kell törölni és felrakni a véglegeset?
-
-
Karma
félisten
válasz
Jester01 #4734 üzenetére
Milyen más módon mennél neki a regexen kívül?
Önerőből lehet, hogy én egy korutint írnék rá ami egyszer iterál végig a stringen, figyeli a relációs jeleket, és azok alapján adja vissza a substringeket. De egy kicsit merengve rajta az ehhez kellő állapotgép ekvivalens egy egyszerű regexszel.
-
pvt.peter
őstag
Sziasztok!
Ha van egy stringem, pl. ez:
"<DOWN><DOWN><DOWN><DOWN>1500<DOWN><DOWN>1500<DOWN>1000<DOWN>"Akkor hogyan tudnám belőle reguláris kifejezéssel úgy kiválogatni őket, hogy a következőket kapjam meg:
<DOWN>
<DOWN>
<DOWN>
<DOWN>
1500
<DOWN>
<DOWN>
1500
<DOWN>
1000
<DOWN><DOWN> helyett akár <Alt-F4> is lehet, illetve 1500 helyett lehet vmi más string is.
Úgy gondolom, hogy a '<' és '>' jelekkel lehetne a matching groupot vhogy meghatározni.
Segítséget köszönöm.
-
A wp-s fejlesztői accounthoz nem csak 2010es, hanem 2013 vs-t is be lehet regelni? o.O
[Express verziókra gondolok] -
amargo
addikt
válasz
trisztan94 #4722 üzenetére
"A geolocator aszinkron szerzi meg a pozíciót, ezért be kell rakni az "async" modifiert a metódusba, ami viszont csak void return értéket enged, tehát nem adja vissza a pozíciót."
No ezt hol olvastad vagy ki mondta így?
Task-ok ismerősek?
Amíg ezt álmodból felkeltve nem tudod vissza adni a párodnak úgy, hogy Ő is megértse, addig inkább ne használd - persze tudom szép a marketingje, de azért nem árt érteni, hogy mit csinál. -
Karma
félisten
válasz
trisztan94 #4722 üzenetére
Hogy van az, hogy le tudod kérni a pozíciót a térképen mozgáshoz az UpdateMap metódus közepén, de pont ugyanazt a kódot nem tudod átemelni a POI létrehozásához?
Mert ugyanazt kell csinálni hozzá, nem is értem hol a gond...
"A geolocator aszinkron szerzi meg a pozíciót, ezért be kell rakni az "async" modifiert a metódusba, ami viszont csak void return értéket enged, tehát nem adja vissza a pozíciót."
Ebből a mondatból viszont csak a legelső tagmondat igaz, a többi mind tévedés.
1) Attól, hogy valami aszinkron, még nem kötelező se az async, se az await kulcsszavak használata. A visszatérési érték Task<GeoPosition> típusú, aminek például használhatod a ContinueWith metódusát arra, hogy mi történjen a háttérfolyamat befejeződésekor, nincs kötelezően szükség az awaitre. Csak épp megéri használni, mert garantáltan visszajön a hívószálra és könnyebben olvasható.
2) Az aszinkron metódusok háromféle visszatérési értékkel rendelkezhetnek: Task, Task<T> vagy void. A GeoLocator a másodikra példa. Void visszatérési értéket csak UI eseménykezelők esetében célszerű írni.
3) Dehogynem. -
trisztan94
őstag
válasz
Peter Kiss #4723 üzenetére
A térkép loaded eseményére kötöttem:
void SetLocation_Loaded(object sender, RoutedEventArgs e)
{
UpdateMap();
}A SetLocation a térkép neve XAML-ben
-
Peter Kiss
őstag
válasz
trisztan94 #4722 üzenetére
Ki kell váltani egy eseményt, mikor megérkezett a felhasználó pozíciója?
-
trisztan94
őstag
Sziasztok!
WP8-al szarakodom a térképpel. Egy nagyon egyszerű dolgot szeretnék megvalósítani:
Van egy térkép, beméri a juzer pozícióját, rázoomol - ez megvan
ApplicationBar, azon egy ikon, amire nyomva egy pushpin-t rak le a pozíciónkraA második dologgal gyűlt meg a bajom. Így kérem le a felhasználó pozícióját:
private async void UpdateMap()
{
Geolocator geolocator = new Geolocator();
geolocator.DesiredAccuracyInMeters = 10;
Geoposition position = await geolocator.GetGeopositionAsync(TimeSpan.FromMinutes(1), TimeSpan.FromSeconds(30));
var GPSCoorCenter = new GeoCoordinate(position.Coordinate.Latitude, position.Coordinate.Longitude);
SetLocationMap.SetView(GPSCoorCenter, 17D);
}Ez teljesen jól működik, szépen rámegy a pozíciómra. A legnagyobb probléma a pushpinnel kapcsolatban az, hogy nem tudom hogyan kellene lekérni a felhasználó pozícióját a pushpin lerakásához.
A geolocator aszinkron szerzi meg a pozíciót, ezért be kell rakni az "async" modifiert a metódusba, ami viszont csak void return értéket enged, tehát nem adja vissza a pozíciót.
Egy külön metódusban van az ApplicationBarban lévő ikon kattintás kezelője:
void savePositionButton_Click(object sender, EventArgs e)
{
MapLayer layer = new MapLayer();
SetLocationMap.Layers.Add(layer);
Pushpin pp = new Pushpin();
MapOverlay overlay = new MapOverlay();
overlay.Content = pp;
layer.Add(overlay);
layer[0].GeoCoordinate = new GeoCoordinate();
}A legutolsó sor a lényeges: layer[0].GeoCoordinate = new GeoCoordinate();
Ez adja meg a pushpin helyzetét, de nem tudom, hogy hogyan tudnám lekérni a jelenlegi pozíciót..
Valakinek ötlet?
Bocsi a fogalmazásért, baromira meg vagyok fázva, a kiló cataflam meg kábít
-
Karma
félisten
válasz
Bobrooney #4720 üzenetére
Nekem mondjuk az se jött át, hogy most egy Windows Forms alkalmazásról van szó, vagy WPF-ről, vagy ASP-ről, vagy... Enélkül duplán nehéz bármit mondani.
De nagy általánosságban úgy tudod elkerülni a validáció ismételgetését, hogy nem a view osztályodban definiálod ezeket, hanem a model (vagy viewmodel) rétegben. Így minden hozzájuk kapcsolódó form egy helyről fogja tudni a szabályokat.
(Ez egyébként a Java frameworkökben is így szokás, amennyire láttam.)
-
Bobrooney
senior tag
válasz
Peter Kiss #4719 üzenetére
Gondoltam, az igenlő válaszodból, hogy érteles választ tudnál adni az eddigiek alapján. Bocsánat, tévedtem.
Pl annyit csináltam, meg, hogy ne engedjen bevinni üres mezőt, és a másiknál pl KeyPress-t állítottam be, hogy egész számokat, és backspace-t vihessen fel. -
Bobrooney
senior tag
válasz
Peter Kiss #4717 üzenetére
Rendben, és mi lenne az?
-
Bobrooney
senior tag
Skacok.
Csináltam egy formot, amin majd személyek adatait lehet felvinni. Csináltam rá pár megkötést és ellenőrzést.
Szeretnék egy másik formot is, ami ezeknek az adatoknak a módosítását csinálja. Ezeket a megkötéseket át lehet vinni, valami formában a copy pasten kívül?Köszönöm előre is a válasz(oka)t!
-
daneel92
tag
sziasztok!
restellem, hogy ilyenhez kell folyamodnom, de tudnátok segíteni programozás háziban? holnap van a leadási határidő, és marhára nem értem a témát. két feladatból áll. az egyik ez:Írjon egy programot amely, létrehoz egy két dimenziós tömböt (mátrixot), tölti a mátrixot véletlen értékű elemekkel, és írja ki a tömböt klasszikus mátrix formában, utána még egyszer írja ki a mátrixot de a sorokból csinál oszlopokat és az oszlopokból csinál sorokat. Programja kalkuláljon a 3. sor és a 4. oszlop elemeinek az összegét.
a másik ez:
Írjon egy programot amely, megoldja egy lineáris egyenletrendszert.
Igazából magát a mátrix témakört nem értem, hogy az olyanokat, mint invertálás hogyan tudom megvalósítani c-ben.
-
amargo
addikt
Vagy proxy, te csak a kéréssel esetleg kikapcsolni tudod a cache-t.
-
ferensz
senior tag
Urak, amennyiben valakit érdekelne:
-
Blue@X
senior tag
Egy kérdésem lenne a WebClient-el kapcsolatban. FTP-n töltök le vele fájlokat, azokat átmenetileg cacheli ahogy észrevettem. Hogy tudnám ezt a cache-t üríteni letöltés után, vagy egyáltalán hol tárolja?
Ú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!
- Bomba ár! Dell Latitude E5550 - i3-5GEN I 8GB I 128GB SSD I 15,6" HD I W10 I HDMI I Cam I Gari!
- Bowers/Wilkins Px7 S2 fejhallgatók
- Apple iPhone 8 64GB Kártyafüggetlen 1Év Garanciával
- Samsung Galaxy A32 4G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Eladó karcmentes állapotban levő Xiaomi 14T 12/256GB / 12 hónap jótállás
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest