- Milyen billentyűzetet vegyek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Milyen belső merevlemezt vegyek?
- Soundbar, soundplate, hangprojektor
- HiFi műszaki szemmel - sztereó hangrendszerek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- R_volution médialejátszók
- Azonnali VGA-s kérdések órája
- ROG Strix G16 notebook: tökéletes harmónia
Új hozzászólás Aktív témák
-
tototos
addikt
Sziasztok!
Van egy kis problémám text fájl beolvasással és feldolgozással.
Adott egy x soros textfile amiből egy bizonyos stringet tartalmazó sort ki akarok venni és a többi sort beolvasni egy stringbe.
A következő kódot írtam hozzá :
Var lines = File.ReadAllLines();
var input = from line in lines
Where (!line.Contains("dblink"))
Select line;A lines tömbben még megvannak a sorok de az input változóban már csak valami System.IEnum szöveg van.
Köszönöm a segítséget
-
Des1gnR
őstag
válasz
Des1gnR #6595 üzenetére
A nagyobbik problémám megoldódott, nyilván én voltam figyelmetlen és csak az egyik DataTable-t töltöttem fel az adatokkal és így hiába szerettem volna szűrni a fel nem töltött adatokra a másikban.
A másik problémám viszont tényleg valósnak tűnik, szóval a DataGridben lévő oszlopok közül van olyan oszlop ami üresnek látszódik, de minden egyes cellájának van értéke. Erre ha van tippetek azt megköszönöm.
-
Des1gnR
őstag
Sajnos még nem jutottam előrébb, de találtam egy hibát amivel talán összefüggésbe lehet hozni valahogy.
Vannak olyan oszlopok amelyekbe nem látszódik tartalom a DataGridben, de ha lekérem a cella értékét, akkor vissza kapom azt amit kapnom is kell, de látszólag üres. Ha egy olyan oszlopba teszem az adatokat ahol egyébként is látszódnak, ott gond nélkül látszódnak. -
Des1gnR
őstag
válasz
rgeorge #6593 üzenetére
Debugnál megnéztem és a DataGrid-ből való kiolvasás során a selectedColumnHeader-be bekerül a Palette Id és a DataGridben is látszódik a headerben.
string selectedColumnHeader = (string)dgdatas.SelectedCells[dgdatas.CurrentColumn.DisplayIndex].Column.Header;Azt nem tudom, hogy mivel lenne jobb a DataView és jelen esetben az mit változtatna.
-
-
Des1gnR
őstag
Sziasztok!
Elakadtam egy számomra érthetetlen dologgal kapcsolatban.
Feltöltök egy DataGridet egy DataTable adataival - Ez stimmel, bent vannak az oszlopnevek és az adatok.
Van egy másik DataGridem ahová az előbbi DataTable szűrt adatai kerülnek.Az alapján állítom be a szűrőt, hogy az első DataGriden épp mi van kijelölve.
private void resfilter(String selectedColumnHeader, String cellValue)
{
string filter = string.Format(selectedColumnHeader) + "='" + string.Format(cellValue) + "'";
//eredmény: "Paletta Id='12'"
string filter2 = "[" + string.Format(selectedColumnHeader) + "] ='" + string.Format(cellValue) + "'";
//eredmény: "[Paletta Id] ='12'"
DataTable _newDataTable = dt2.Select(filter).CopyToDataTable();
dgres.ItemsSource = _newDataTable.AsDataView();
}Ha az első filterrel próbálkozom, akkor System.Data.SyntaxErrorException hibát dob azaz "Szintaktikai hiba: Hiányzik a(z) „Id” operátor utáni operandus."
Ha a másodikkal, akkor pedig System.Data.EvaluateException hibát, azaz A(z) [Paletta Id] oszlop nem található.Az érdekesség annyi, hogy ha az első oszlopra szűrök rá ami egy Sorszám, akkor működik a szűrőm.
Ehhez kapcsolódóan annyit, hogy a DataTable-be az oszlopok neveit egy tömbből viszem fel, kivéve az első azaz a Sorszám oszlop nevét, amit "kézzel" állítok be.private void addFilterTable()
{
/* ----- Oszlopok létrehozása ----- */
dt.Columns.Add("Sorszám", typeof(string));
for (int i = 0; i < header.Length; i++)
{
dt.Columns.Add(header[i], typeof(string));
}
.
.
.Remélem tudtok segíteni
-
dreuzor
újonc
Kicsit ciki, de 5 perccel azután, hogy leírtam ide a problémát, meg is oldottam.
Sziasztok!
Szeretnék Unityben egy olyan scriptet írni, aminél ha egy feltétel teljesül, akkor betöltődjön a következő pálya.
Kettő script van, az egyikben van egy nextLevel nevű bool változó, aminek truenak kell lenni a pályaváltáshoz:using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class felszed : MonoBehaviour
{
private int count;
public int maxCount = 8;
public Text countText;
public Text winText;
public bool nextLevel;
// Use this for initialization
void Start ()
{
count = 0;
SetCountText ();
winText.text = "";
nextLevel = false;
}
// Update is called once per frame
void Update () {
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag ("PickUp"))
{
other.gameObject.SetActive (false);
count = count + 1;
SetCountText();
}
}
void SetCountText ()
{
countText.text = "Fogaskerekek: " + count.ToString () + "/" + maxCount.ToString ();
if (count >= maxCount)
{
winText.text = "NYERTÉL!";
nextLevel = true;
}
}
}Ez után rá kell kattintani egy objektumra, amiben a következő script van:
using UnityEngine;
using System.Collections;
public class NextLevel : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void OnMouseDown ()
{
if (felszed.nextLevel == true)
{
Application.LoadLevel ("Level02");
}
}
}A következő hibaüzenetet írta ki a Unity:
Assets/Scripts/NextLevel.cs(20,29): error CS0120: An object reference is required to access non-static member `felszed.nextLevel'
Még nagyon kezdő vagyok a script írásban, remélem minden lényeges információt leírtam ahhoz, hogy egy kicsit is hozzáértőbb ember fél másodperc alatt kiszúrja hol voltam béna
.
-
Karma
félisten
Ha a kommunikáció mindkét oldalát te írod vagy tudod befolyásolni, szerintem megér egy nézést az AltarNet3 lib. Pofonegyszerű használni, csak arra kell odafigyelni, hogy az üzeneteket úgy küldi és fogadja, hogy először 32 biten átküldi az üzenet teljes hosszát, aztán jön a tényleges tartalom.
-
G.A.
aktív tag
Üdv!
Egy TCP alapú adatküldő/fogadó alkalmazást szeretnék készíteni, ehhez írtam egy alap programot.
Jelenleg egy hibája van, csak 1 csomagot képes elküldeni, utána nem csinál semmit. Nem ír ki hibát, nem fagy le, de csak a programból való kilépés majd újraindítás után tud csomagot küldeni. Egyet.
A program 2-3 szálon fut, ami szerintem a hiba forrása.
public partial class Form1 : Form
{
Stream tcp_stream;
public Form1()
{
InitializeComponent();
}
public void TCP_Client_Init()
{
c_src_port = Convert.ToInt32(client_src_port.Text);
c_dst_port = Convert.ToInt32(client_dst_port.Text);
client_ips = Dns.GetHostAddresses(client_ip_address.Text);
TCP_Client = new TcpClient();
try
{
TCP_Client.Connect(client_ips[0], c_dst_port);
}
catch (Exception e)
{
Close_Client();
}
if(run_client)
{
tcp_stream = TCP_Client.GetStream();
TCP_Client.Client.ReceiveTimeout = 100;
TCP_Client.Client.SendTimeout = 100;
}
}
public void Run_TCP_Client_Listen()
{
bool client_rxd_packet = false;
while(run_client)
{
try
{
client_rxd_packet = true;
tcp_stream.Read(client_BUFFER, 0,256);
string value = Encoding.ASCII.GetString(client_BUFFER);
write_to_rxd_screen(value);
client_BUFFER = null;
}
catch (Exception e) { }
if(client_rxd_packet)
{
client_rxd_packet = false;
}
}
TCP_Client.Close();
}
public void Client_Send_TCP_String(string value)
{
//tcp_stream = TCP_Client.GetStream(); // HIBA <<-- ITT
client_BUFFER = Encoding.ASCII.GetBytes(value);
try
{
tcp_stream.Write(client_BUFFER, 0, client_BUFFER.Length);
}
catch (Exception e)
{
Close_Client();
}
}
}A hiba a Client_Send_TCP_String() funkció első sorában van.
Ha kihagyom a tcp_stream = TCP_Client.GetStream(); sort akkor 1 csomagot el tud küldeni, de többet nem.
Ha beírom, akkor ez a hibaüzenet jelenik meg:
An unhandled exception of type 'System.InvalidOperationException' occurred in System.dllAdditional information: A művelet nem engedélyezett nem csatlakoztatott szoftvercsatornákon.
A Client_Send_TCP_String() akkor fut le, amikor a Send gombra kattintok (ezt kihagytam a fenti kódból).
A Run_TCP_Client_Listen() viszont egy másik szálon fut.Ha jól értelmeztem a hibakódot, akkor a gondom az, hogy a tcp_stream-et 2 szálon egy időben használnám. A tcp_stream.Read()-nél, ill. a tcp_stream.Write()-nál.
Ezt valamilyen invoke (módszer/funkció)-val lehetne megoldani? Hogyan?
-
amargo
addikt
válasz
h1ght3chzor #6586 üzenetére
Amikor elmész vásárolni és a pénztáros fizetsz, szerinted ő csak kilóra megrázza vagy megszokta számolni is?
Ugyanakkor segítek vannak különböző validációt segítő osztályok, mivel nem írtál semmit az alkalmazásról, hogy miben írod, a következő lépést neked kell megkeresni
-
h1ght3chzor
őstag
Hogyan tudnám a legegyszerűbben megnézni, hogy az adatbázisba átküldendő adatokat mindet kitöltötte-e a felhasználó? Textbox, Combobox, ilyesmik lennének. Egyesével kellene mindet vizsgálnom?
-
kingabo
őstag
válasz
tototos #6579 üzenetére
A batch file ki tudja saját magát törölni úgy látom: stackoverflow
-
tototos
addikt
Sziasztok!
Újból egy elég érdekes kérdéssel fordulnék hozátok. Van egy alkalmazásom ami futtot egy batch scriptet, ami elég sokáig időzik a futással. Azt szeretném megoldani, hogy ha az én alkalmazásomat task managerből leállítják akkor le tudjam állítani az indított srcipt futását és ki tudjak törölni temporális mappákat.
Eddig a formclosing eventet használtam, és megállítottam a bezárást, majd utána kiléptem én az alkalmazásból, de így nem tud végigfutni teljesen a törlő algoritmus, gondolom a windows előbb állítja le a saját alkalmazásom. -
Karma
félisten
A kerék feltalálása helyett a legjobban úgy lehet megoldani, hogy fogsz egy kész CSV libet. Ha a szóközt választod szeparátornak, pont így fog viselkedni szerintem.
-
cubix
tag
Sziasztok!
Hogyan lehet megoldani azt, hogy egy fájlból beolvasott sort a szóközöknél splitteljem, de az idézőjelek közötti részt hadja egyben? -
Kommy
veterán
Van valakinek valami ötlete arra, hogy a Querybuilder-ben megírt lekérdezés végeredménye jó sorrendben vannak a sorok, de a reportviewer-ben fordított sorrendben van, és hiába rendezem a lekérdezésben a report-ban mindig rossz a sorrend.
-
dreuzor
újonc
Üdv!
Kezdő vagyok a programozásban, és eddigi ismereteim szerint szerettem volna egy olyan kódot írni, amiben 10 random számot kell összeadni, és a végén kiírja, hogy mennyi volt a helyes.
Így próbáltam megcsinálni:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace switchstatements
{
class MainClass
{
public static void Main(string[] args)
{
Random numberGenerator = new Random();
int num01;
int num02;
int num03 = 0;
int i;
for (i=1; i >= 10 ; i++)
{
num01 = numberGenerator.Next(1, 11);
num02 = numberGenerator.Next(1, 11);
Console.WriteLine("Mennyi" + num01 + "meg" + num02 + "?");
int answer = Convert.ToInt32(Console.ReadLine());
if (answer == num01 + num02)
{
Console.WriteLine("Úgy van!");
num03 = num03 + 1;
}
else
{
Console.WriteLine("Nem!");
}
}
Console.WriteLine("Az elért pontszámod: " + num03);
Console.ReadKey();
}
}
}
A for ciklusban lévő dolgok nem akarnak lefutni, és nem tudtam rájönni miért, kérlek segítsetek!
Köszönöm. -
Kommy
veterán
Lenne egy ilyen kinézetű reportview-m amit szeretnék egy oszloppal kiegészíteni, de sajnos azok az adatok semmilyen összefüggésben nincsenek az eredeti adatokkal. Annyi lenne a lényeg, hogy ugye maximum 8 sor lehet 1 csoportban és a másik rész is max 8 sort tartalmaz ezek a versenyzők rajthelyét jelölnék.
Nekem az is jó lenne ha lehetne olyat csinálni, hogy a csoport x-edig sora egy bizonyos számot kap beírásra, jelenleg a rajthelyek benne vannak az adatbázisban.
-
tototos
addikt
válasz
lord.lakli #6563 üzenetére
Hát nem nagyon szeretném kimenteni sehova, ez a probléma. Vagy ha úgy meg lehet csinálni hogy csak a program férjen hozzá az adott mappához és senki más akkor talán járható.
-
tototos
addikt
Sziasztok!
Egy kis segítséget szeretnék kérni. Szeretnék írni egy programot, ami kpépes meghívni egy batch fájlt, ami pedig make fájlokat hivogat. A nehézség a dologban, hogy ezeket a fájlokat szeretném belefordítani a a kódomba resource-ként. A process.StartInfo.WorkingDirectory-nek meg tudok adni belső a programhoz hozzáadott könyvtárat?
Köszönöm a segítséget
-
MATEO6600
őstag
Én világ életemben az elavult Formra fejlesztettem, most viszont már ideje átállni WPF-re...
Tudtok ehhez valami jó segédanyagot/könyvet/olvasmányt javasolni? -
Headless
őstag
Sziasztok!
Csinálni szerettem volna egy knock klienst windowsra, sajnos abba a hibába ütköztem, hogy a windows sikertelen kapcsolódás esetén újraküldi a csomagot (újra próbálkozik) wireshark spurios retransmissionnak hívja. A knokcd szerver persze így nem a megfelelő port sorrendet kapja, és a szerver rossz kombinációt érzékel. Ezzel a baj, hogy nem támogat DNS címeket és nincs benne profil mentés, de valahogy nem tudtam kiszűrni hogy itt hogy oldják meg a kapcsolódást nah meg ez amúgyis c++.(sajnos elég kezd vagyok a témában).
Jelenleg ezt csináltam, de ügye ez nem megfelelő. Mert többször próbálkozik.
dns, és portnr termszetesen definiálva van helyesen korábbanSocket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IAsyncResult result = socket.BeginConnect(dns, portnr, null, null);
bool success = result.AsyncWaitHandle.WaitOne(1000, true);
socket.Close();korábban a TcpConnect()-el próbálkoztam de azzal már a form is befgyott, mert nem tudott csatlakozni.
A kérdésem, hogy hogy lehetne megoldani, hogy ne próbálkozzon csak egyszer. -
Peter Kiss
őstag
válasz
Krix CS 1.6 #6554 üzenetére
Minden a matekon múlik!
-
Krix CS 1.6
csendes tag
Sziasztok!
Akinek van egy kis szabadideje és ért a c#-hoz, részletek privátban.
Szép napot! -
Karma
félisten
válasz
h1ght3chzor #6551 üzenetére
Ezt úgy szokták hívni, hogy "autocomplete textbox", vagy "typeahead". Nem mondtad, hogy milyen platformról van szó mondjuk, az segíthet a példaírásban meg a jobb keresésben is.
Úgy általánosságban sokkal jobb, ha fel se merül a teljes DB felolvasása, helyette okosan queryzel a már megadott első pár karakterrel. (Tipikusan háromnál szoktak beindulni az ilyenek.)
-
h1ght3chzor
őstag
Sziasztok!
Szeretnek egy olyan programreszeltet megírni, ami egy textboxbol áll, es ha beleir a felhasználó, azonnal alá kidobja az adott stringgel kezdődő találatokat (meg nem tudom ugy egyszerűbb hogy előtte beolvasom az adatbázisból az összes adatomat egy string listaba, vagy hogyan) mondjuk 10-et megjelenítve es minél többet begépel belőle annál jobban szűri a listát, fel-le nyillal akar kivalaszthatja hogy melyiket szeretne.
Kérem segítsetek benne, van-e beépített megoldás, vagy Googleba mit írjak be, hogyan valósítsam meg?
Köszönöm.
-
Karcub
senior tag
Valaki tudna segíteni? Egy 100 elemű vektort kell felvenni, és fel kell tölteni x-ekkel.
-
Van két programom. Szeretnék adatot átadni a két program között? Mi a legegyszerűbb módja?
-
-
Alexios
veterán
Megnéztem a xaml-t a desktop verzióban ha azt próbáltad, ennyi van benne:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
</Grid>Szóval mint látod ez egy üres grid, ezért látsz egy üres fekete képernyőt.
A windows phone változat alatt pedig az a baja hogy nem mainpage.xaml a fájl neve hanem basicpage1, így azt nem is találja(nem is tudom lefordul-e egyáltalán így)Universal app-nál(amennyire én tudom, csak fél szemmel nézegettem utána eddig) mind a két alkalmazásnak ugyanannak a fájlnévnek(vagyis osztálynak de most ez mindegy) kell lennie a két projektben, ha megnézed a shard projectben az app.xaml.cs-ben látod hogy:
rootFrame.Navigate(typeof(MainPage)
Azaz MainPage típusú oldalra navigál, ha meg ez nincs a wp projekt-nél, csak basicpage típus akkor nem tud oda navigálni.Szóval vagy töröld ki a BasicPage1.xaml-t és illeszd be MainPage.xaml néven, ekkor automatikusan MainPage nevű osztályokat fog létrehozni, vagy a xaml fájl tetején x:Class="App1.MainPage" legyen illetve a xaml.cs-ben is írd át az osztály nevét meg a konstruktor nevét.
-
cigam
titán
"Szeretnénk, ha mindenki a legjobb élményben részesülne, amit a Skype csak adhat, beleértve a jobb minőséget, a megbízhatóságot és biztonságot, és a Skype új verziója már úton is van, hogy ezt beteljesítse" - olvasható a Microsoft terméktámogatási weboldalán. "Ahhoz, hogy mindenki élvezhesse az előnyöket, néha vissza kell vonultatnunk egy régebbi Skype-verziót, beleértve a mobil platformokat is. Ezen okból visszavonultatjuk az összes Skype alkalmazást Windows Phone 7-en."
Konkrétan semmi nem indokolta, csak vertek még egy szöget a WP7 koporsójába. Mi indokolta a WP7 kliensek kitiltását? Pláne annak ismeretében, hogy 2.x-es Androidok röhögve futtatják, használják.
-
cigam
titán
válasz
martonx #6531 üzenetére
a hülye MS annyiszor nyírta ki, változtatta meg drasztikusan az utóbbi években
Mijen igaz! Engem az iritál, amit a skype-al művelnek. Első körben megszüntetik a wp7 támogatást légből kapott kamu indokokkal. Most meg a "modern" verzót nyírják ki. Holott az universal app-á fejlesztés lett volna a logikus lépés. Szerintem.
Becsomagoltam az egészet ide. Adam014 azt megköszönöm, ha ránézel!
-
martonx
veterán
Jópofa dolog ez az universalApp, csak a hülye MS annyiszor nyírta ki, változtatta meg drasztikusan az utóbbi években az eddigi fő platform fejlesztési irányát, hogy szvsz kb. egyedül vagy azzal, hogy universalApp-ot fejlesztesz. Nem akarok a többiek nevében beszélni, de igyekszek annyira távol maradni a Microsoft újabb platformjaitól, amennyire csak lehet (és mondom ezt C# fejlesztőként), mert tragédia amit az utóbbi 5 évben az MS művelt.
Aztán meg megy az értetlenül nézés részükről, hogy miért nem fejleszt senki Silverlightban/winRT alkalmazásban/universalApp-ban (mikor éppen melyik volt a sláger)? Mikor alapvetően egy egyszerű HTML5-ös alkalmazás is natív élményt hoz windows-on, és portolni is jóval könnyebb utána más platformokra, vagy sokan eleve Xamarinnal futnak neki, mert akkor kapásból célozni tudják a többi platformot is.
Most meg, hogy már IOS-ről, Android-ról is lehet portolni appokat universalApp-á, végképp ki lesz az a hülye, aki nekiáll nulláról universalApp-ot készíteni? -
cigam
titán
Elkezdtem az első UniversalApp-om. Itt szépen magyarul lépésrő lépésre le van írva, hogy mit kell(ene) csinálni.
A MainPage (főlap) lecserélése problémába ütközött. Törlöm a MainPage.xaml-t, és hozzá adom a BasicPage-et, MainPage.xaml néven. Látszólag sikerül is a dolog, mert ha megnyitom, már a Basic kinézetet látom a szerkesztőben. Most jön a csavar: Futtatáskor az eredeti üres lap jelenik meg.Rossz a leírás, vagy én csinálok valamit rosszul?
-
G.A.
aktív tag
válasz
kingabo #6526 üzenetére
Köszi a tippet!
A két kliens a gond....
public static string ip_address_string = "192.168.0.11";
public static int src_port = 9800, dst_port = 8900;
IPEndPoint AVREndPoint = new IPEndPoint(IPAddress.Parse(ip_address_string), dst_port);
UdpClient client = new UdpClient(src_port);
public Form1()
{
InitializeComponent();
}
...A klienst ha így hozom létre, a változók után, de a Form1 előtt, akkor a port probléma megoldódott!
Sajnos, így a GUI-ból nem tudom módosítani a portokat.
-
kingabo
őstag
Jobban ránéztem a kódodra. 1 kliens már ott csücsül a porton, amikor a másik klienst is rá akarnád tenni, ez okozza hibát. Ha folyamatosan küldesz-fogadsz adatokat, akkor lehet 1 közös kliens kéne mind2re a progi teljes élettartamára. Esetleg egy kis Lazy és WeakReference-cel megbolondítva.
Ha tévedek a többiek majd kijavítanak. -
kingabo
őstag
"A kommunikációra az UDP protokollt választottam, mivel sokkal egyszerűbb, mint a TCP."
Azt tudod, hogy milyen lényegi különbség van a 2 között (azon kívül, hogy az egyik egyszerűbb)? Udp-nél nem garantált sem az hogy megérkezik a csomag, sem az, hogy a küldés sorrendjében érkeznek meg/kerülnek feldolgozásra. Emiatt használják videó, hang streamelésnél. A Tcp-nél viszont a fenti "probléma" nincs. (ha jól rémlik)
1000 éve nem programoztam socketeket, akkor is csak C-ben, szal a kódról lövésem sincs mi a gond.
Az nem lehet, hogy már van valami azon a porton? Kép alapján gyanus, hogy a küldést és a fogadást is ugyanarra a portra akarod tenni... -
G.A.
aktív tag
Üdv!
A problémám a következő:
Építettem, pontosabban építgetek, egy mikorcontrollert, amit hálózatra kötnék. Hogy az eszközt távolról is elérhessem írtam hozzá C#-ben egy GUI-s alkalmazást.A kommunikációra az UDP protokollt választottam, mivel sokkal egyszerűbb, mint a TCP.
A program külsőre így néz ki:A felső sorokban a Wireshark által kiírt csomagok láthatóak. A hálózaton a 11-es gép a vezérlő, a 8-as a PC.
Látható, hogy megy a küldés és a fogadás is, ami nem megy az a a programban a forrás port 9800-re való beállítása. Pontosabban az megy, csak ekkor a program összeomlik, a következő hibaüzenettel:
Additional information: Az összes szoftvercsatorna-cím használatának általában csak egy módja (protokoll/hálózat cím/port) engedélyezett
Tehát jelenleg arra nem vagyok képes, hogy a beérkezett és a küldendő csomag source<-> destination portjait fel tudjam cserélni.
A kód:
namespace Smart_Home
{
public partial class Form1 : Form
{
public static byte[] data = new byte[1536], TX_BUFFER = new byte[1536], RX_BUFFER = new byte[1536];
public static bool connection_status = false;
public static byte[] IP_Address = new byte[4];
public static string ip_address_string;
public Form1()
{
InitializeComponent();
}
public void write_to_screen(string value)
{
if (InvokeRequired)
{
this.Invoke(new Action<string>(write_to_screen), new object[] { value });
return;
}
screen.Text += value;
}
public void RecieveChallenge()
{
IPEndPoint AVREndPoint = new IPEndPoint(IPAddress.Parse(rx_ip_address.Text), Convert.ToInt32(rx_dst_port.Text));
UdpClient client = new UdpClient(Convert.ToInt32(rx_dst_port.Text));
while (connection_status)
{
RX_BUFFER = client.Receive(ref AVREndPoint);
write_to_screen(Encoding.ASCII.GetString(RX_BUFFER));
write_to_screen(Environment.NewLine);
}
client.Close();
}
public void connect_Click(object sender, EventArgs e)
{
if (rx_ip_address.TextLength != 0 && rx_dst_port.TextLength != 0)
{
if (!connection_status)
{
connect.Text = "Disconnect";
connection_status = true;
send.Enabled = true;
Thread recieveChallengeThread = new Thread(new ThreadStart(RecieveChallenge));
recieveChallengeThread.Start();
}
else
{
connect.Text = "Connect";
connection_status = false;
send.Enabled = false;
}
}
}
public void send_Click(object sender, EventArgs e)
{
IPEndPoint AVREndPoint = new IPEndPoint(IPAddress.Parse(tx_ip_address.Text), Convert.ToInt32(tx_dst_port.Text));
UdpClient client = new UdpClient(Convert.ToInt32(tx_src_port.Text));
TX_BUFFER = Encoding.ASCII.GetBytes(send_data.Text);
client.Send(TX_BUFFER, TX_BUFFER.Length, AVREndPoint);
client.Close();
}
}
} -
vlevi
nagyúr
C-ben a string az valóban egy karaktertömb volt még, ott lehetett ilyenekkel játszani.
De a C#-ban a string egy objektum, aminek a kezelését elég komolyan eldugja előled a fordító. Ahogy előttem is írták, egy string sosem változik meg, legfeljebb cserélődik.ha pl. leírod ezt
string s1="abc";
s1="def";akkor nem azt fog történni, amire számítanál, hogy az s1-nek a három karaktere lecserélődik három másik karakterre. Ehelyett az s1 megy a levesbe, létrejön egy új string objektum, def tartalommal, és az s1 változó innentől kezdve erre az újonnan létrejött string objektumra mutat.
A stringbuilder, amit adam014 említett, az annyiban más, hogy nem gyárt mindíg új string változót, csak belül gyűjti, mit variál a program a betűkkel, és csak végén, amikor a string értékére szükség van, akkor állítja elő.
-
Alexios
veterán
A stringeket nem lehet megváltoztatni, így nem fogod tudni kicserélni egyik karakterét sem, max új stringet hozhatsz létre, vagy stringbuilder-t használsz.
pl:
string szov1 = "szoveg";
string fv()
{
string szov2 = szov1[1];
return szov2;
}Mondjuk a kódoddal több gond is van, pl. minek returnölöd a szov1 változót mikor amúgy sem módosítasz rajta semmit?
Char-t használva is megoldódik amúgy, akkor pedig:string szov1 = "szoveg";
char fv()
{
char szov2 = szov1[1];
return szov2;
}Nem teljesen világos milyen rengeteg vesszőre gondoltál számomra a char esetében.
-
OddMan
őstag
Ezt hogyan lehetne megoldani, hogy működjön? Esetleg használjak char-t, csak olyankor ha hosszú szöveg van, akkor rengeteg vessző kell a karakterek közé?
string szov1 = "szoveg";
string szov2;
string fv()
{
szov2[0] = szov1[1];
return szov1;
} -
cigam
titán
Ja igen:XAMLben is megpróbáltam, de...
<TextBlock x:Name="doboz1" Margin="0" TextWrapping="Wrap" Text="Az Apple a tegnapi napon igazi bombát dobott a piacra, ugyanis bejelentették, hogy a Metal API-t az iOS-ről áthozzák a Mac OS X új verziójára is. Ez az iparágon belül visszás nézeteket váltott ki. Önmagában nincs baj azzal a politikával, ha valaki a szabványok mellett készít saját technológiákat is, de az Apple esetében inkább arról van szó, hogy a szabványok helyett jött a Metal. A vállalat ugyanis teljesen visszafogta az OpenGL támogatását, és lassan ez igaz lesz az OpenCL-re is. Emellett a nyílt specifikációjú iparági szabványnak készülő Vulkan API támogatására vonatkozóan is mélyen hallgat a cég, ami egyfajta üzenet a fejlesztőknek, hogy válasszák a biztosan létező utat, vagyis a Metal API-t. Egyrészt a fejlesztők nézőpontja érthető, hogy számukra jóval egyszerűbb lenne, ha az Apple a szabványok mellett kardoskodna. Nyilván az OpenGL itt már nem tényező, de az OpenCL és az érkező Vulkan az. Ennek technikai akadálya nincs, de az Apple valószínűleg fél attól, hogy a Khronos Group a jövőben sem fogja kiszolgálni az igényeiket. Ez a legfőbb oka annak, amiért a Metal megszületett az iOS-re, mivel az OpenGL ES 2.0 akkoriban már rendkívül rossz API-nak számított a hatékonyság szempontjából. A Mac OS X-re történő elérhetőség pedig egy folyamat befejezése, vagy éppen kezdete?" FontSize="72">
<TextBlock.RenderTransform>
<TranslateTransform x:Name="doboz10" X="0" Y="0" />
</TextBlock.RenderTransform>
</TextBlock>
<Button Content="Start" Width="100" Height="50" Margin="10,10,682,509">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard x:Name="B1">
<DoubleAnimation Storyboard.TargetName="doboz10" Storyboard.TargetProperty="Y" From="0" To="-950" Duration="0:0:10" FillBehavior="Stop" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>De itt meg a szöveg elvágódik az ablak alján, + még nem jöttem rá, hogy a sebességet hogyan tekerem menet közben.
-
cigam
titán
Nincs hivatalos MS platform rá? Ez nem kicsit vicces.
Amúgy hót nem boldogulok. 80%-ot megeszik egy c2d prociból,vagyis nem így kell megoldani. De akkor hogyan? Hisz ez csak egy szöveg, amit párpixellel odébb dobok...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
textblock1.Text = "Az Apple a tegnapi napon igazi bombát dobott a piacra, ugyanis bejelentették, hogy a Metal API-t az iOS-ről áthozzák a Mac OS X új verziójára is. Ez az iparágon belül visszás nézeteket váltott ki. Önmagában nincs baj azzal a politikával, ha valaki a szabványok mellett készít saját technológiákat is, de az Apple esetében inkább arról van szó, hogy a szabványok helyett jött a Metal. A vállalat ugyanis teljesen visszafogta az OpenGL támogatását, és lassan ez igaz lesz az OpenCL-re is. Emellett a nyílt specifikációjú iparági szabványnak készülő Vulkan API támogatására vonatkozóan is mélyen hallgat a cég, ami egyfajta üzenet a fejlesztőknek, hogy válasszák a biztosan létező utat, vagyis a Metal API-t. Egyrészt a fejlesztők nézőpontja érthető, hogy számukra jóval egyszerűbb lenne, ha az Apple a szabványok mellett kardoskodna. Nyilván az OpenGL itt már nem tényező, de az OpenCL és az érkező Vulkan az. Ennek technikai akadálya nincs, de az Apple valószínűleg fél attól, hogy a Khronos Group a jövőben sem fogja kiszolgálni az igényeiket. Ez a legfőbb oka annak, amiért a Metal megszületett az iOS-re, mivel az OpenGL ES 2.0 akkoriban már rendkívül rossz API-nak számított a hatékonyság szempontjából. A Mac OS X-re történő elérhetőség pedig egy folyamat befejezése, vagy éppen kezdete?";
DispatcherTimer idozito = new DispatcherTimer();
idozito.Tick += mozgatas;
idozito.Interval = new TimeSpan(100000);
idozito.Start();
}
double ypos = 0;
void mozgatas(object sender, EventArgs e)
{
ypos-=1.5;
if (ypos < (textblock1.ActualHeight * -1))
{
ypos = 0;
}
textblock1.Margin = new Thickness(0, ypos, 0, 0);
}
}
} -
cigam
titán
Van élet az XNA után?
VS Community 2013 van fent, viszont a Microsoft XNA Game Studio 4.0 hisztizik:Mégiscsak a C# express 2010-re van szükségem, vagy?
-
rgeorge
addikt
Miért lenne furcsa? A második explicit megadása annak az típusnak (osztálynak), amiből az egyedek származnak, aminek nem kell megegyeznie a deklarációs típussal, elég, ha szűlö-gyerek viszonyban vannak, vagy, amennyiben a deklarációs típus egy interfész, annak egy megvalósítása.
-
OddMan
őstag
Az alábbi két tömb között mi a különbség? Furcsa, hogy a new kulcsszó nélkül is működik.
int[] tomb1 = { 9, 8, 7, 6, 5 };
int[] tomb2 = new int[] { 9, 8, 7, 6, 5 }; -
MineFox54
őstag
Sziasztok!
Ha van egy akármilyen rfid cuccom (gépre köthető), hozzá van egy SDK-m, hogyan csinálom meg, hogy folyamatosan figyelje a leolvasást?
(Kissé gagyin fogalmaztam meg
)
-
cigam
titán
Itt van ez az msn-es példa, ami a doboz szélességét változtatja:
<EventTrigger RoutedEvent="TextBlock.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="MyWipedText"
Storyboard.TargetProperty="(TextBlock.Width)"
To="0.0" Duration="0:0:10"
AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>Elméletileg csak le kéne cserélnem a .Width-et valami másra, ami a függőleges pozíciót tekeri, de vagy nincs ilyen, vagy eldugták.
Az sem világos, hogy ha sikerül is beröffenteni, hogyan szabályozom mmenet közben a sebességét.
-
cigam
titán
válasz
ferensz #6499 üzenetére
Értem. Ez ugye nem fizetős? Akkor miért kell hozzá egy plusz "fejlesztői" licence? Ezzel mit vállalok magamra?
Karma
Köszi, de ehhez én kevés vagyok. Egy árva bötüt nem értek az egészből, pedig jópár oldalt átnyálaztam.
Ez pl. egy komplett kódnak tűbik, de még lefordítani sem tudom.
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace AnimationCompletedTest {
public partial class MainWindow : Window {
Canvas panel;
public MainWindow() {
InitializeComponent();
MouseDown += DoDynamicAnimation;
Content = panel = new Canvas();
}
void DoDynamicAnimation(object sender, MouseButtonEventArgs args) {
for (int i = 0; i < 12; ++i) {
var e = new Ellipse { Width = 16, Height = 16, Fill = SystemColors.HighlightBrush };
Canvas.SetLeft(e, Mouse.GetPosition(this).X);
Canvas.SetTop(e, Mouse.GetPosition(this).Y);
var tg = new TransformGroup();
var translation = new TranslateTransform(30, 0);
var translationName = "myTranslation" + translation.GetHashCode();
RegisterName(translationName, translation);
tg.Children.Add(translation);
tg.Children.Add(new RotateTransform(i * 30));
e.RenderTransform = tg;
panel.Children.Add(e);
var anim = new DoubleAnimation(3, 100, new Duration(new TimeSpan(0, 0, 0, 1, 0))) {
EasingFunction = new PowerEase { EasingMode = EasingMode.EaseOut }
};
var s = new Storyboard();
Storyboard.SetTargetName(s, translationName);
Storyboard.SetTargetProperty(s, new PropertyPath(TranslateTransform.YProperty));
var storyboardName = "s" + s.GetHashCode();
Resources.Add(storyboardName, s);
s.Children.Add(anim);
s.Completed +=
(sndr, evtArgs) => {
panel.Children.Remove(e);
Resources.Remove(storyboardName);
UnregisterName(translationName);
};
s.Begin();
}
}
[STAThread]
public static void Main() {
var app = new Application();
app.Run(new MainWindow());
}
}
}
Ú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!
- Linux kezdőknek
- Milyen billentyűzetet vegyek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Mit válthat ki az alváshiány?
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- Milyen belső merevlemezt vegyek?
- Hardcore café
- További aktív témák...
- EVGA SuperNOVA 750W GT 80 Plus Gold full moduláris tápegység / 53 hónap Alza.hu garancia
- Surface Laptop 4 Touch 13.5 Retina Ryzen7 4980U 4.4Ghz 16GB 512GB Radeon RX Vega8 Win11 Pro Garancia
- Gigabyte AORUS B550I PRO AX ITX Rev 1.2 / Beszámítás OK!
- HP 15 Zbook Studio G8 FHD IPS i7-11850H vPro 32GB 512GB SSD Nvidia A2000 Studio Win11 Pro Garancia
- Dell 14 Latitude 7420 FHD IPS i7-1185G7 4.8Ghz 16GB 512GB SSD Intel Iris XE Win11 Pro Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest