- MG4 menetpróba
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Vodafone mobilszolgáltatások
- Yettel topik
- Honor Magic5 Pro - kamerák bűvöletében
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy A53 5G - kevesebbet többért
- Redmi Note 13 Pro+ - a fejlődés íve
- iPhone topik
Hirdetés
-
A személyre szabott reklám lehet a streaming következő slágere
it A jobb célzott hirdetések érdekében adatplatformot indít a Warner Bros Discovery.
-
Lenovo Essential Wireless Combo
lo Lehet-e egy billentyűzet karcsú, elegáns és különleges? A Lenovo bebizonyította, hogy igen, de bosszantó is :)
-
Igencsak szerény méretekkel rendelkezik az Aetina Xe HPG architektúrás VGA-ja
ph Az 50 wattos modellt beágyazott rendszerekbe, MI-vel kapcsolatos munkafolyamatokhoz és edge applikációkhoz szánták.
Új hozzászólás Aktív témák
-
acélkemény
tag
Lehet nem itt kellene ezeket megkérdeznem, de itt számitok okos válaszokra:
1. mire jó egy domain pointer?
2. van egy mukodo asp.net-es domainem. vettem egy masodik domain nevet, de nem tudom hogy lehetne atiranyitani es nem is talaltam erre utalo jelet a webUI-n. mit kellene tennem? -
Lakers
tag
sziasztok!
Ismét kód értelmezésben kérem a segítségeteket
ez a Pass osztály:using System;
namespace Parameters
{
class Pass
{
public static void Value(int param)
{
param = 42;
}
public static void Reference(WrappedInt param)
{
param.Number = 42;
}
}
}WrappedInt osztály:
namespace Parameters
{
class WrappedInt
{
public int Number;
}
}Ez pedig a Main metódus tartalma:
WrappedInt wi = new WrappedInt();
Console.WriteLine(wi.Number);
Pass.Reference(wi);
Console.WriteLine(wi.Number);itt a Reference függvény azt csinálja, hogy a WrappedInt osztályból meghívja a példányt, az a példány WrappedInt osztályban 0, és ugye a Reference metódus meghívás után a példány(Number) értéke 42 lesz.
Kérdésem:
1. public static void Reference(WrappedInt param) miért param van itt? és miért nem number? (mert az a Number az az osztály mezője?)
2. a Reference metódusban a param.Number=42 utasítás mit csinál? a Number 0 értékéhez hozzáadta a param 42 értéket? (lehet ennél a kérdésnél, még tovább kell lapoznom a könyvet -
Lortech
addikt
Ez itt valami példa lenne gondolom a referencia és az érték szerinti paraméterátadások ill. annak mellékhatásainak szemléltetésére.
Value metódus - érték szerinti-
Reference metódus - referencia szerinti paraméterátadás.Value metódusban a bemenő paraméter int típus, "érték típus", ha hivatkozol rá a változónévvel, akkor az értékre hivatkozol (nem referenciára).
Ha megváltoztatod a metóduson belül a "param" bemenő paramétert, nem változik meg a Value függvény hívása helyén megadott változó, mivel a metódus annak egy másolatát kapja meg valójában.(Value hívását nem másoltad be, de gondolom ott lehet a könyvben vmi ilyesmi példa is, hogy:
WrappedInt wi = new WrappedInt();
Console.WriteLine(wi.Number);
Pass.Value(wi.Number);
Console.WriteLine(wi.Number);)
A Reference metódus egy referencia típust vár bemenő paraméterként, a típus a WrappedInt. A példában a Reference metódus hívása helyén a WrappedInt osztály
"wi" nevű objektumpéldányát, ill. annak referenciáját adja át a metódusnak, tehát az eredetileg WrappedInt wi = new WrappedInt(); sorral példányosított objektumra képes hatni, ahogy teszi is az objektum "Number" mezőjének megváltoztatásával.Konkrétan a kérdésedre válaszolva:
1, mert a Reference fgv formális paraméterlistája a"WrappedInt param", tehát nem int típust vár a fgv, ha a Numbert adta volna át, azzal nem tudta volna szemléltetni a referencia szerinti paramátadást.
2, szóval param.Number = 42;
param a bemenő paraméter, típusa WrappedInt, ami egy osztály, referencia típus, tehát konkrétan param az ugyanaz az objektum, ill referenciája, mint amit a WrappedInt wi = new WrappedInt(); sorral példányosítottál.
A WrappedInt egyetlen mezője a Number, példányszintű és publikus, ezért hivatkozhatsz rá a példában megadott módon param.Number-ként. A mezőnek egyszerűen értéket adunk.Thank you to god for making me an atheist
-
Lakers
tag
válasz Lortech #1003 üzenetére
Köszi!
Igen, könyvből van , a Value-t azért nem írtam, mert azt valahogy felfogtam.
De átfutottam ezen a paraméter másoláson. Az lenne a kérdésem, hogy amikor ilyenkor a Value metódus megkapott paramétert, ugye lemásolja, és azzal dolgozik, és az eredetit nem másolja (mert ugye itt az értéket kapja), de akkor a másolattal mi történik? az valahol benne a van memóriában? (erre nem tért ki a könyv), hogy akkor hol a másolat? és azzal később lehet valamit kezdeni?
az hogy a Number a WrappedInt egyetlen mezője ez oké, meg hogy publikus , de az hogy példányszintű, az azt jelenti, hogy egyben ez az objektum "változója" (nem tudom, milyen szót kell ide használni).
-
Lortech
addikt
Igen, "valahol" benne van a memóriában, valahogy úgy lehet elképzelni, mintha lokális változóként deklaráltad volna a függvényen belül, és a legelső mozzanat a függvényen belül az, hogy értékül adod neki azt az értéket ami a paraméter.
tehát vmi ilyesmi:public static void Value()
{
int param = 42;
...
}Mindez automatikusan történik. Value lefutása után param felszabadul. Kezdeni ne akarj vele semmit.
Az, hogy példányszintű, azt jelenti, hogy az objektum egy példányához tartozik, kell hozzá példány, hogy elérd a mezőt, minden példánynak van egy-egy ilyen mezője, nem osztályszintű (statikus).Thank you to god for making me an atheist
-
Lakers
tag
válasz Lortech #1005 üzenetére
Az, hogy példányszintű, azt jelenti, hogy az objektum egy példányához tartozik,
Most elgondolkodtam, én úgy vettem le ebből az OO-ból, hogy az objektum és a példány ugyanaz. Osztálynak van objektuma, vagy másnéven példánya (lehet valami felett átsíklottam). Mi a különbség a példány és objektum között?
-
acélkemény
tag
válasz Lortech #1003 üzenetére
Nekem ezeknél a példáknál az a bajom, hogy fingom sincs, egyatalan miert lehetseges ez, hogy van ertek meg referencia szerinti atadas, mikozben mindenki tudja, hogy az int, bool stb csak alias-ok egy valojaban System.Int32, System.Boolean stb osztalyokra. Tehat akkor most ertek vagy referencia? Tok kavarc. Tudom, hogy mi a kulonbseg, egyertelmu, csak azt nem, hogy ha minden osztaly meg objektum, még az egyszeru tipusok is, akkor hogy a francba van value átadás és akkor még a boxing-unboxing csodáról meg sem emlékeztem... egyszer erre ferdítenek, egyszer arra, aztán te meg találd ki, hogy mi az igaz!
-
Lortech
addikt
válasz acélkemény #1009 üzenetére
Nem System.Int32 osztályokra alias, hanem System.Int32 típusra, érték típusra. És azért érték típus mert nem osztályként van megvalósítva, nem gyermeke objectnek, nem kompatibilis vele. Érték típusokat a struct -tal lehet létrehozni.
Paraméterátadásra visszatérve: nem akartam tovább bonyolítani Lakersnek, de van még a ref kulcsszó is, ami referencia típusú paraméterátadást eredményez érték típus paraméteren is. Azaz kimenő paramétert is lehet alkalmazni .NET-ben. És itt megjegyezném, mielőtt valaki beleköt, hogy a referencia típusú atadás is érték típusú, a referencia típusú változók értéke egy referencia, ez a referencia viszont egy mögöttes tartalomra mutat, egy objektumra (vagy null).
[ Szerkesztve ]
Thank you to god for making me an atheist
-
wwlaci
csendes tag
Sziasztok!
Visuál Studió 2005 Visuál Basic-ben utazok.
Kérdésem, ha valaki tudna segíteni.
Arra volna szükségem, hogy az általam megadott (többféle, pl. .avi .jpg .bmp ) kiterjesztésű összes filet
egy gombnyomásra egy listára (listbox) gyűjtseElőre köszi a segítéget.
-
-
wwlaci
csendes tag
válasz Gregorius #1014 üzenetére
Szia!
találtam egy ilyen megoldást, de nem tudom, hogyan tudom
megjeleníteni ennek az eredményét listboxban.Imports System.Collections
Imports System.IO
Imports System
Public Class Form1Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End SubPrivate Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
End Sub
End ClassPublic NotInheritable Class Directory
Public Class RecursiveFileProcessorPublic Overloads Shared Sub Main(ByVal args() As String)
Dim path As String
For Each path In args
If File.Exists(path) Then
' This path is a file.
ProcessFile(path)
Else
If System.IO.Directory.Exists(path) Then
' This path is a directory.
ProcessDirectory(path)
Else
Console.WriteLine("{0} is not a valid file or directory.", path)
End If
End If
Next path
End Sub 'Main' Process all files in the directory passed in, recurse on any directories
' that are found, and process the files they contain.
Public Shared Sub ProcessDirectory(ByVal targetDirectory As String)
Dim fileEntries As String() = System.IO.Directory.GetFiles(targetDirectory)
' Process the list of files found in the directory.
Dim fileName As String
For Each fileName In fileEntries
ProcessFile(fileName)Next fileName
Dim subdirectoryEntries As String() = System.IO.Directory.GetDirectories(targetDirectory)
' Recurse into subdirectories of this directory.
Dim subdirectory As String
For Each subdirectory In subdirectoryEntries
ProcessDirectory(subdirectory)
Next subdirectoryEnd Sub 'ProcessDirectory
' Insert logic for processing found files here.
Public Shared Sub ProcessFile(ByVal path As String)
Console.WriteLine("Processed file '{0}'.", path)
End Sub 'ProcessFile
End Class 'RecursiveFileProcessor
End Class -
wwlaci
csendes tag
válasz Gregorius #1018 üzenetére
Szia!
megpróbáltam az alábbit:
For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
My.Computer.FileSystem.Drives.Item(1).ToString, _
FileIO.SearchOption.SearchAllSubDirectories, "*.avi")
ListBox1.Items.Add(foundFile)
Nextaz a gond csak vele , hogy a minden meghajtón jelenlévő
System Volume Information
könyvtárnál kiakad, mert ezt nem tudja megnyitni.Ha a My.Computer.FileSystem.Drives.Item(1).ToString, helyett
egy deklarált könyvtárat pl.: "h:\filmek" írok be, akkor azt
nagyon szépen végigolvassa.
2. kérdés
Hogyan tudok kizárni meghajtót , pl a "c:" -t, vagy könyvtárakat (pl.: Windows),
hogy azokat ne olvassa be.előre is köszi.
-
Gregorius
őstag
Ez már végigmegy hiba nélkül:
Public Sub FindFiles(path As String, pattern As String, result As Collection(Of String))
Try
For Each s As String In Directory.GetDirectories(path, pattern)
FindFiles(s, pattern, result)
Next
For Each s As String In Directory.GetFiles(path, pattern)
result.Add(s)
Next
Catch ex As UnauthorizedException
End Try
End Sub
Dim res As New Collection(Of String)
FindFiles("C:\", "*.avi", res)
For Each s As String In res
listBox1.Items.Add(s)
Next2. Csak arra hívod meg a fentit, amelyikre kell.
[ Szerkesztve ]
-
wwlaci
csendes tag
válasz Gregorius #1020 üzenetére
Szia.
az alábbi kódot bemásoltam egy modulba:
Public Sub FindFiles(ByVal path As String, ByVal pattern As String, ByVal result As Collection(Of String))
Try
For Each s As String In System.IO.Directory.GetDirectories(path, pattern)
FindFiles(s, pattern, result)
Next
For Each s As String In System.IO.Directory.GetFiles(path, pattern)
result.Add(s)
Next
Catch ex As UnauthorizedAccessException
End Try
End SubAz alábbit, pedig egy button-click-be
Dim res As New Collection()
FindFiles("C:\", "*.avi", res)
For Each s As String In res
ListBox1.Items.Add(s)
Nexta modulban lévő (of string)-re azt mondja:
Microsoft.VisualBasic.Collection has no type parameters and so cannot have type arguments.[ Szerkesztve ]
-
wwlaci
csendes tag
Sziasztok!
Egy kis segítség kellene.van két táblám egy access adatbázisban.
Az egyik tábla (t1) tartalmazza az összes adatot ( mezőnév: elérés)
a másik tábla (t2) ( más mezőnéven: helye) tartalmaz néhány olyan adatot is, amelyet
a másik tábla (t1) elérés mezője..
Nekem egy olyan kigyűjtés kell (visual st2005) amely csak azokat az adatokat jeleníti meg
az első (t1) táblából, amelyek NEM SZEREPELNEK a t2 táblában.próbáltam az inner join -t de nem volt nyerő
nyit.CommandText = "select distinct osszes.eleres, helye from fotabla inner join osszes on(osszes.eleres not like fotabla.helye )"
ha valaki tudna segíteni, előre is köszi..
-
ArchElf
addikt
Amennyiben a t1.eleres és t2.helye mező azonos adatait akarnád kiszűrni:
select * from t1 where eleres not in (select helye from t2)
Esetleg használhatsz joint is, de az egy kicsit bonyolultabb:
SELECT t1.*
FROM t1 LEFT JOIN t2 ON t1.eleres = t2.helye
WHERE t2.helye Is Null;AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
punk17
aktív tag
Sziasztok!
Egy kis segítségre lenne szükségem mert nem egészen értem az osztályokat, metódusokat. Valaki röviden leírhatná, hogy mire jó és mi az értelme mert nem tudom felfogni és jövőhéten kedden zhm lesz belőle.Esetleg ezt a feladatot megoldhatná nekem valaki.
1. feladat- Hozz létre egy SzövegKezelő osztályt, amelynek két adattagja van: egy szöveg és egy hossz.
- Készítsd el az osztályhoz tartozó konstruktort, amely szöveg mezőnek ad kezdő értéket.
- Készíts egy SzövegHossz metódust, amely a szöveg mező hosszát adja vissza.
- A Main fgv-en belül példányosítsd a fenti osztályt. Majd kérd le a SzövegHossz függvénnyel, a szöveg változó méretét, és ezt irasd ki a képernyőre.Előre is köszönöm a segítséget.
Oneplus 3T | Apple iPad Air
-
bpx
őstag
osztályokhoz olvasd el ezt: [link]
feladathoz:
class SzovegKezelo
{
string szoveg;
int hossz;
public SzovegKezelo()
{
szoveg = "Hello";
hossz = szoveg.Length;
}
public int SzovegHossz()
{
return hossz;
}
}
class Program
{
static void Main(string[] args)
{
SzovegKezelo szk = new SzovegKezelo();
Console.WriteLine(szk.SzovegHossz());
}
} -
Immy
őstag
Üdv
Csináltam egy form alkalmazást. Raktam rá egy webbrowser-t. Paraméterezni tudom a navigate paranccsal, viszont bekellet látnom, hogy az én tudásom ide kevés!
Azt akarom megvalósítani, hogy mikor bejön 1 weboldal ugorjon (kattintson) 1 bizonyos linkre. (a link vége mindig változik-->ergo közvetlen linkként nem ugorhatok rá.
http://xxxxxx.hu/dorf1.php?a=9&c=58c
(tehát itt az 58c mindig változik amennyiszer belépek)Forráskód
<a class="build" href="dorf1.php?a=10&c=58c">Lecseréltem a szöveget</a>Nincs lehetőség, hogy egy bizonyos szövegre ugorjak rá, vagy addig "taboljak" míg meg nem találja a szöveget?
Előre is köszönöm megtisztelő válaszotokat!
Üdv: Immy
Apró: https://hardverapro.hu/aprok/hirdeto/immy/index.html
-
hattrick
tag
Sziasztok!
Kezdő c# programozó vagyok. Ez az első programozási nyelvem, és szívesen vásárolnék egy könyvet amiből tanulhatnék, csak nem tudom melyiket, ebben is kérném a segítségeteket.
Egy olyan könyvre lennem szükségem ami mindenre megtanít. Nem szükséges, hogy nagyon az alapoktól kezdje, mert ha segítség kell akkor van programozó a családban .
Én erre a könyvre gondoltam: A C# 2008 ÉS A .NET 3.5 - 1. KÖTET
A C# 2008 ÉS A .NET 3.5 - 2. KÖTET
Ha szerintetek másik könyv lenne a nyerő akkor szívesen fogadom a tanácsokat.Előre is köszi a segítséget.
ht[ Szerkesztve ]
a 7 törpe meghalt, Hófehérke már nem szűz, s Te még hiszel a mesékben?
-
Immy
őstag
Üdv
Azt megtaláltam, hogy linkre hogyan lehet ugrani vagy id-re. (működik is)
object dom = webBrowser1.Document.All["submit"].DomElement;
Type t = dom.GetType();
System.Reflection.MethodInfo click = t.GetMethod("Click");webBrowser1.Document.GetElementById("submit").InvokeMember("Click");
Viszont nálam a link állandóan változik....
Üdv: Immy
[ Szerkesztve ]
Apró: https://hardverapro.hu/aprok/hirdeto/immy/index.html
-
Immy
őstag
Üdv
Megint elakadtam:
Van 2 input mező amit ki kell töltenem:<input class="text" type="text" name="e31a9a9" value="ide írom a nevet" maxlength="15" />
<input class="text" type="password" name="e9f746c" value="*****" maxlength="20" />viszont webbrowser komponensel még nem jöttem rá hogy lehetséges id nélkül
Apró: https://hardverapro.hu/aprok/hirdeto/immy/index.html
-
Immy
őstag
Nagyon sok "szórakozás" után megtaláltam a megoldást:
HtmlElement name = webBrowser1.Document.All["neve az input-nak"];
if (name != null)
{
name.InnerText = "amivel kiakarjuk tölteni";
}
HtmlElement pass = webBrowser1.Document.All["neve az input-nak"];
if (pass != null)
{
pass.InnerText = "amivel kiakarjuk tölteni";
}Apró: https://hardverapro.hu/aprok/hirdeto/immy/index.html
-
Immy
őstag
Üdv megint
(bocsi, hogy állandóan csak én postolok ide, de mindig elakadok valami kis hülyeségben)
C# webbrowser komponensel hogy tudok egy bizonyos linkre ugrani amiről csak ezt tudom:
class=build(id nincs, href-re nem hivatkozhatok közvetlenül, mert állandóan változik)
Apró: https://hardverapro.hu/aprok/hirdeto/immy/index.html
-
ArchElf
addikt
http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.aspx
GetElementsByTagName, ha megvan a lista, onnan leelenőrzöd a class-t egy iterációban.if (webBrowser1.Document != null)
{
HtmlElementCollection elemColl = null;
HtmlDocument doc = webBrowser1.Document;
if (doc != null)
{
elemColl = doc.GetElementsByTagName("A");
foreach (HtmlElement elem in elemColl)
{
string elemName;
elemName = elem.GetAttribute("CLASS");
if (elemName == "valami")
{
elem.Focus();
break;
}
}
}AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
Immy
őstag
válasz ArchElf #1041 üzenetére
<a class="build" href="dorf1.php?a=4&c=70c">
Ebből akarom kiszedni a linket. (href utáni részt).
A Te általad berakott programkódod üres stringet szed ki semmit. Próbálgattam módosítani, de max annyit tudtam elérni, hogy "gyűjtemény" szöveget irattam ki.Más:
Hogyan lehet késleltetést berakni 2 webbrowser navigate közé?
thread.sleep-el akartam, de az nem működött jól (szerintem a webbrowser más szálon fut).Apró: https://hardverapro.hu/aprok/hirdeto/immy/index.html
-
ArchElf
addikt
És ha az előző és az azelötti hozzászólásomat összekombinálod?
Értsd:
1) kikeresed az összes "A" elemet: GetElementsByTagName("A");
2) addig nézed őket, míg meg nem találod, amelyiknek a class property-je az amire te keresel GetProperty("class")
3) megnézed, hogy mi a href tulajdonsága GetProperty("href")
4) átadod a HREF értékét a webbrowser controllnak - voila...AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
Immy
őstag
Úgynézki megvan a megoldás, igaz kicsit favágó módszer, de legalább működik:
if (webBrowser1.Document != null)
{
HtmlElementCollection elemColl = null;
HtmlDocument doc = webBrowser1.Document;
if (doc != null)
{
elemColl = doc.GetElementsByTagName("a");
foreach (HtmlElement elem in elemColl)
{
elemName = elem.GetAttribute("href");
if (elemName.Contains("dorf1.php?"))
{
listBox1.Items.Add(elemName);
break;
}
}
}
}
webBrowser1.Navigate(elemName);Apró: https://hardverapro.hu/aprok/hirdeto/immy/index.html
-
RexpecT
addikt
Sziasztok!
Egy kis help kellene:
Írnom kellene egy olyan programot ami:
kiírja az első n darab páros szám (ezt a felhasználótól kérje be) összegét a képernyőre, majd meghatározza a számok átlagát.[ Szerkesztve ]
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!