#4 liborb
Jojo pak dám vědět jak to dopadlo
Příspěvky odeslané z IP adresy 82.202.104.–
Zdravím, mam nějaký soubor který chci přečíst v binárce a potřeboval bych najít určitý offset třeba 0x2F077 a tam porovnat zda je třeba 0A ... Nevíte jak bych to mohl udělat? Díky moc za pomoc.
#6 KIIV
Potřebuju AD převodník prootže potřebuzju nejak porovnávat zda je pod autíčkem cerná cára nebo ne. Podle toho to taky udělam alg na vyhodnocení jak natočit servo apod. Něco bych tu měl používám zatim jen RA1 pro 1 čidlo a pak to jen rozšířím ale jak zjistit vstup co mi jde do čipu kdyz nemám LCD? ... Datasheet mam otevrenej to se neboj hnedka vedle MPLabu
#2 KIIV
Ale i tak jak sem řekl, nevim kam to napojit, nejsem HW typ ale spíš SW typ ... Mě jde jenom čistě o to, jak to zapojit a jak získat digitalní podobu, pak vyhodnocení apod to už udělam aby pak to autíčko jezdilo po čáře. Jenom jak to udělat tohle
Zdravím, mam takovou ulohu ve škole, kde mam na tento PIC připojit 8 senzorových čidel a naprogramovat (samozřejmě nespěchá to je to ročníkový projekt, ale když už jsem se do toho dal tak bych to chtěl co nejdřív) jde mi o to, že nevím jak v tomto PICu naporgramovat AD převodník tak aby mě to bral z těch čidel, takže vlastně jde o to jenom jak napojit a naprogramovat spojení mezi tím, kod v C bych pak už zvladnul jako vyhodnocení co tam je a co ne. Jenom tohle nevím. Nemohl by mě to někdo aspon trošku popsat? Díky moc
No tak to jsem uplně v koncích, co si teda vybrat por tuhle jednoduchou hru? kde se bude posílat max 4byte + nastavení lodí? Jen podotýkam že jsem narazil na server a client ale client musel vždy kliknout aby zjistil zda hráč udělal tah nebo ne. ale já chci aby to prostě jakmile hráč odehraje aby se to tomu druhýmu hned zobrazilo a naopak když odehraje druhej hrač tak aby se to prvnímu hned ukázalo ... Vlastně každej program/hra bude obsahovat jak Založení serveru tak připojení k serveru takže vlastně jeden hráč bude jakoby server a druhej client. Takže prosím o radu jak nejlíp, nejuspornějc a hlavně nenáročně naprogramovat.
No to opravdu nevím to uspání. Našel jsem jenom co ti ten PC dá do hibernace což je "shutdown /h" ale tam nevím zda se tam zadává čas nebo ne ...
Ale pokud chceš uspat po nějakým čase, tak si udělej funkci co ti odpočítává čas třeba po 1 sec (bool) a pokud by to naběhlo určitý počet a větší tak spustit příkaz uspání. Neboli takhle
while (true)
{
if (CheckTime()) // pokud vrátí true provede se uspání
SleepPC(); // funkce na uspání
Sleep(1000); // Uspí program na 1 sec
}
int Time = 10; // v sekundách nastavíš třeba pomocí cin
bool CheckTime()
{
Time--;
if (Time <= 0)
return true;
else
return false;
}
V C++ nejsem moc zdatnej ale snad by ti to mohlo stačit nějak takhle ... Vlastně uspalo by to PC po určitým čase (ale program by byl pustěnej, ale to okno by se dalo pak schovat).
Edit : samozřejmě tam musíš doplnit tu promennou do toho system na konci (second) nějak sem to napsal do stringu nechtěně sem to psal z hlavy. Takže snad to mám dobře napsaný.
Co třeba udělat jen jednu funkci kde bys poslal udaje jako minuty? něco jako
void Shutdown(int minutes)
{
int second = minutes * 60;
system("C:\\WINDOWS\\System32\\shutdown /s /t second");
cout << "Počítač se vypne za " << minutes << " minut" << endl;
}
void Main()
{
int minutes;
cout << "Zadej za jak dlouho se vypne PC a pro ukonceni napis 0" << endl;
cin << minutes;
if (minutes == 0)
return EXIT_SUCCESS;
else
Shutdown(minutes);
}
#2 liborb
Jako jo umím z clienta na server poslat údaje umím, ale prostě neumím to poslat ze serveru zpět a udržet spojení max poslat to jednou client -> server a server -> client ale jakmile to pošlu jakoby znova client -> server tak mi server nic nepřijme i když přitom naslouchá takže právě nevím kde je chyba, mě jde o to udržet spojení a čekat než protihráč pošle packet s informacema. A to právě nevím jak udělat.
#2 liborb
To je právě ono, že já nevím jak na to. Když tam hodim takhle stringy tak to tam uloži a je jedno zda tam jen button nebo ne, a ja ten button potřebuju ovládat ale to nevím jak prostě, A jak do nej vlozit nějaký parametry apod. Max co jsem dokazal sesmolit bylo tohle protože s datagridem delam poprvy.
Zdravim,
jak můžu parsovat HTML kod do nějaky podoby textovy podoby, nevim jak vubec udělat, jde mi prostě čistě o to, že by mě kod měl ziskavat nějaky text ze stránky. Děkuji za všechny nápady jak na to (stránky maj strukturu po sobě doucí neboli kod je na každou věc stejný jenom se tam mění věci z Databaze)
Děkuji.
Prostě jen to poslat s certifikatem, nic vic :( ... Už si s tím hraju den ale porstě pořád nic :(
+ otázka ... šel by vykreslovat nějaký statusbar? Lišta která by se měnila podle toho jak má "postava" životů? Ale asi určitě, když nahoře v obrázku to je ...
#4 liborb
Jj už to tam vidim, ale pořád jsem z toho docela jelen Je tu toho docela dost jako v tom kodu ale v tom je prej zahrnut i UPDATE tak nevím no... Až budu doma tak něco zkusím, ale nevím nevím, kdyžtak se tu ozvu, ale jen by mě zajímalo odkud to bere tu grafiku co to má vykreslit ...
Tak jsem něco našel přímo pro tuto hru co potřebuju, ale vůbec se v tom nevyznám a neorientuju. Nebyl by někdo schopný z toho vytáhnout jen to co je hlavní? (třeba vypsání 1 miniobrázku?) A dokonce je to i přímo pro program v kterým to potřebuju napsat, ale jak sem řekl absolutně se v tom neorientuju.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using MulLib;
using Phoenix.Runtime;
using Phoenix.WorldData;
using Phoenix.Communication;
using System.Text;
namespace Phoenix.Scripts {
public class CreateCharacter {
[ClientMessageHandler(0x00)]
public CallbackResult OnCreateCharacter( byte[] data, CallbackResult prevResult ) {
byte[] bytes = Encoding.ASCII.GetBytes( "Kringelbert Fishtybuns" );
Array.Copy( bytes, 0, data, 10, bytes.Length );
return prevResult;
}
}
[RuntimeObject]
public class ResourceCounter : IDisposable {
private const int GWLP_WNDPROC = -4;
private const int BoxSpacing = 15;
public ResourceCounter() {
items = new List<IDrawable>() {
new ItemInfo( "BM", 0x0F7B, 0x0000, new Rectangle( 6, -4, 30, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "BP", 0x0F7A, 0x0000, new Rectangle( 17, -7, 10, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "GC", 0x0F84, 0x0000, new Rectangle( 0, -5, 30, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "GS", 0x0F85, 0x0000, new Rectangle( 15, -3, 20, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "MR", 0x0F86, 0x0000, new Rectangle( 11, -3, 20, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "NS", 0x0F88, 0x0000, new Rectangle( 5, 1, 30, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "SA", 0x0F8C, 0x0000, new Rectangle( 9, -4, 30, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "SS", 0x0F8D, 0x0000, new Rectangle( 8, -3, 20, SystemInformation.CaptionHeight - 2 ) ),
new Separator( "|" ),
new ItemInfo( "Bloodspawn", 0x0F7C, 0x0000, new Rectangle( 8, -3, 17, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "Brimstone", 0x0F7F, 0x0000, new Rectangle( 17, -4, 15, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "Obsidian", 0x0F89, 0x0000, new Rectangle( 7, -3, 25, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "Blackmoor", 0x0F79, 0x0000, new Rectangle( 16, -4, 20, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "Batwing", 0x0F78, 0x0000, new Rectangle( 14, -2, 16, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "Eye of Newt", 0x0F87, 0x0000, new Rectangle( 16, -7, 9, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "Vial of Blood", 0x0F7D, 0x0000, new Rectangle( 16, -1, 10, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "Bone", 0x0F7E, 0x0000, new Rectangle( 16, -3, 23, SystemInformation.CaptionHeight - 2 ) ),
new Separator( "|" ),
new ItemInfo( "TMR", 0x0F09, 0x0003, new Rectangle( 9, -1, 15, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "GH", 0x0F0C, 0x0000, new Rectangle( 9, -1, 15, SystemInformation.CaptionHeight - 2 ) ),
new ItemInfo( "TR", 0x0F0B, 0x0000, new Rectangle( 9, -1, 15, SystemInformation.CaptionHeight - 2 ) ),
new Separator( "|" ),
new ItemInfo( "Bandage", 0x0E21, 0x0000, new Rectangle( 11, -2, 22, SystemInformation.CaptionHeight - 2) ),
};
Debug.WriteLine( "Installing wndproc hook", "ResourceCounter" );
originalWndProc = NativeMethods.GetWindowLong( Client.HWND, GWLP_WNDPROC );
if ( originalWndProc == IntPtr.Zero )
throw new Win32Exception();
wndProc = new WndProcDelegate( WndProc );
if ( NativeMethods.SetWindowLong( Client.HWND, GWLP_WNDPROC, Marshal.GetFunctionPointerForDelegate( wndProc ) ) == IntPtr.Zero )
throw new Win32Exception();
RuntimeCore.UnregisteringAssembly += new UnregisteringAssemblyEventHandler( RuntimeCore_UnregisteringAssembly );
Redraw();
}
~ResourceCounter() {
Dispose();
}
private List<IDrawable> items;
private WndProcDelegate wndProc;
private IntPtr originalWndProc;
public void Redraw() {
if ( ( from t in items.OfType<ItemInfo>()
join i in World.Player.Backpack.AllItems on new {
t.Graphic,
t.Color
} equals new {
i.Graphic,
i.Color
} into x
from i in x.DefaultIfEmpty()
group i by t into r
select new {
Type = r.Key,
Amount = r.Sum( a => a != null ? a.Amount : 0 )
} ).Count( i => i.Type.Update( i.Amount ) ) > 0 ) {
NativeMethods.SendMessage( Client.HWND, 0x85, IntPtr.Zero, IntPtr.Zero );
if ( Marshal.GetLastWin32Error() != 0 )
throw new Win32Exception();
}
}
[ServerMessageHandler( 0x33, Priority = CallbackPriority.Lowest )]
public CallbackResult OnAddItemToContainer( byte[] data, CallbackResult prevResult ) {
if ( data[ 1 ] == 0 )
Redraw();
return prevResult;
}
private IntPtr WndProc( IntPtr hwnd, uint uMsg, IntPtr wParam, IntPtr lParam ) {
IntPtr result = NativeMethods.CallWindowProc( originalWndProc, hwnd, uMsg, wParam, lParam );
switch ( uMsg ) {
case 0x86: // WM_NCACTIVATE
case 0x85: // WM_NCPAINT
DrawStuff( hwnd );
break;
}
return result;
}
private void DrawStuff( IntPtr hwnd ) {
if ( !World.Player.Exist )
return;
IntPtr hDC = NativeMethods.GetWindowDC( hwnd );
Rectangle windowRect = new Rectangle();
if ( !NativeMethods.GetWindowRect( hwnd, ref windowRect ) )
throw new Win32Exception();
using ( Graphics graphics = Graphics.FromHdc( hDC ) ) {
float totalWidth = -BoxSpacing;
foreach ( IDrawable info in items )
totalWidth += info.Measure( graphics ) + BoxSpacing;
PointF p = new Point( SystemInformation.FrameBorderSize );
p.X += ( ( windowRect.Width - SystemInformation.CaptionHeight * 2 ) - totalWidth ) / 2;
p.Y += 1;
foreach ( IDrawable info in items )
p.X += info.Draw( graphics, p ) + BoxSpacing;
}
NativeMethods.ReleaseDC( hwnd, hDC );
}
#region Event handlers
private void RuntimeCore_UnregisteringAssembly( object sender, UnregisteringAssemblyEventArgs e ) {
Dispose();
}
#endregion
#region IDisposable
public void Dispose() {
if ( originalWndProc == IntPtr.Zero )
return;
Debug.WriteLine( "Removing wndproc hook", "ResourceCounter" );
if ( NativeMethods.SetWindowLong( Client.HWND, GWLP_WNDPROC, originalWndProc ) == IntPtr.Zero )
throw new Win32Exception();
GC.SuppressFinalize( this );
}
#endregion
#region Delegates
[UnmanagedFunctionPointer( CallingConvention.Winapi )]
private delegate IntPtr WndProcDelegate( IntPtr hwnd, uint uMsg, IntPtr wParam, IntPtr lParam );
#endregion
#region Nested type: IDrawable
private interface IDrawable {
bool Update( int itemCount );
float Measure( Graphics graphics );
float Draw( Graphics graphics, PointF point );
}
#endregion
#region Nested type: Separator
private class Separator : IDrawable {
public Separator( string text ) {
Text = text;
}
private float textWidth;
#region IDrawable
public bool Update( int itemCount ) {
return false;
}
public virtual float Measure( Graphics graphics ) {
textWidth = graphics.MeasureString( Text, SystemFonts.CaptionFont ).Width;
return textWidth;
}
public virtual float Draw( Graphics graphics, PointF point ) {
graphics.DrawString( Text, SystemFonts.CaptionFont, SystemBrushes.ActiveCaptionText, point );
return textWidth;
}
#endregion
#region Public properties
public string Text {
get;
private set;
}
#endregion
}
#endregion
#region Nested type: ItemInfo
private class ItemInfo : IDrawable {
public ItemInfo( string name, Graphic graphic, UOColor color, Rectangle iconBounds ) {
Name = name;
Graphic = graphic;
Color = color;
this.iconBounds = iconBounds;
prevAmount = -1;
Bitmap = DataFiles.Art.Items.Get( graphic );
if ( color.IsConstant && color != 0x0000 ) {
HueEntry hue = DataFiles.Hues.Get( color );
if ( hue != null )
Dyes.RecolorFull( hue, Bitmap );
}
}
private Rectangle iconBounds;
private string text;
private float textWidth;
private int prevAmount;
#region IDrawable
public bool Update( int amount ) {
if ( prevAmount == amount )
return false;
text = ": " + amount;
prevAmount = amount;
return true;
}
public float Measure( Graphics graphics ) {
textWidth = graphics.MeasureString( text, SystemFonts.CaptionFont ).Width;
return iconBounds.Width + textWidth;
}
public float Draw( Graphics graphics, PointF point ) {
#if CONFIG_MODE
graphics.DrawRectangle( Pens.Azure, point.X, point.Y, iconBounds.Width, iconBounds.Height );
#endif
graphics.DrawImage( Bitmap, point.X, point.Y, iconBounds, GraphicsUnit.Pixel );
point.X += iconBounds.Width;
point.Y = SystemInformation.FrameBorderSize.Height + ( SystemInformation.CaptionHeight - SystemFonts.CaptionFont.Height ) / 2 - 1;
graphics.DrawString( text, SystemFonts.CaptionFont, SystemBrushes.ActiveCaptionText, point );
return iconBounds.Width + textWidth;
}
#endregion
#region Public properties
public string Name {
get;
private set;
}
public Graphic Graphic {
get;
private set;
}
public UOColor Color {
get;
private set;
}
public Bitmap Bitmap {
get;
private set;
}
#endregion
}
#endregion
#region Native methods
private static class NativeMethods {
[DllImport( "user32.dll" )]
public static extern IntPtr CallWindowProc( IntPtr lpPrevWndFunc, IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam );
[DllImport( "user32.dll", SetLastError = true )]
public static extern IntPtr SetWindowLong( IntPtr hWnd, int nIndex, IntPtr dwNewLong );
[DllImport( "user32.dll", SetLastError = true )]
public static extern IntPtr GetWindowLong( IntPtr hWnd, int nIndex );
[DllImport( "user32.dll", SetLastError = true )]
public static extern IntPtr GetWindowDC( IntPtr hWnd );
[DllImport( "user32.dll" )]
public static extern int ReleaseDC( IntPtr hWnd, IntPtr hDC );
[DllImport( "user32.dll" )]
public static extern bool GetWindowRect( IntPtr hWnd, ref Rectangle lpRect );
[DllImport( "user32.dll" )]
public static extern bool UpdateWindow( IntPtr hWnd );
[DllImport( "user32.dll" )]
public static extern bool InvalidateRect( IntPtr hWnd, ref Rectangle lpRect, bool bErase );
[DllImport( "user32.dll", SetLastError = true )]
public static extern IntPtr SendMessage( IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam );
}
#endregion
}
}
Výsledek tohoto je toto
#3 Zzzajda
Tak jinak to je celej projekt kdyby jsi tam rpidal Usingy tak ti to pojede ...
Jinak ti stačí nadeklarovat Timer a eventu vytvořit
Timer Example; // do Class
pak si do náky void funkce nebo do Form_Load pridas instrukce
Example = new Timer();
Example.Interval = 100;
Example.Tick +=new EventHandler(Example_Tick);
Example.Start();
a pak do class vytvoříš eventu
public void Example_Tick(object sender, EventArgs e)
{
textBox1.Text = DateTime.Now.ToString("HH:mm:ss");
}
Zdravim.
Mám takovou otázku jak mohu dostat z obrazku histogram. Ale textovy histogram, protoze sem nasel jeden navod, ale je pro python a tam je prave postup pres textovy histogram. Jde o to, že bych chtěl načíst nějaký obrázek, udělat histogram, změnit třeba červenou na modrou, a zase uložit jako obrázek. Sice sem něco našel, ale ne to co bych potřeboval. Vždycky to je přes náky grafy či co...
Děkuji za odpověd.
Mutagen
už jsem na to přišel
neměl jsem tam závorky
pl = (2*pi*r*r+2*pi*r*v);
ob = (pi*r*r*v);
Ahoj, nějak mě nefunguje program
#include "stdafx.h"
#include "stdio.h"
#define pi 3,14
void main(void)
{
double r, v, pl, ob, p;
printf("Zadejte r: ");
scanf("%lf", &r);
printf("Zadejte v: ");
scanf("%lf", &v);
printf("Zadejte 1 pro vypocet plochy 2 pro vypocet objemu\n");
scanf("%lf", &p);
pl = 2*pi*r*r+2*pi*r*v;
ob = pi*r*r*v;
if (p == 1){
printf("Plocha je: %.0lf", pl);
}
else{
printf("Objem je: %.0lf", ob);
}
getchar();getchar();
}
Nevíte kde je chyba? Díky.
Vyreseno.
Stacilo jenom ze souboru nacist "3277" a ono si to samo pres ushort Graphic = Convert.ToUInt16(Read[3]); prekonvertovalo samo.
#4 KIIV
No jo to me nenapadlo ...
Ale spis sem nasel to ze mi to kdyz si zapisu cislo "0CCD" tak mi to zase nejde pres ten "Convert.ToUint16(xx); tak mi to vyhodi error ze vstupni retezec nema spravny format ...
Kdyz sem zkusil tohle "ushort Graphic = (ushort)Convert.ToUInt16("0x{0:X4}",Convert.ToInt32(Read[3]));" Tak mi to zase pise neplatny zaklad tak to fakt nechapu kde delam chybu
Zdravim...
mam takovy problem ... Snazim se pretypovat string na ushort coz delam takhle
Cti = Lumber.ReadLine();
string[] Read = Cti.Split(',');
ushort X = Convert.ToUInt16(Read[0]);
ushort Y = Convert.ToUInt16(Read[1]);
sbyte Z = (sbyte)Convert.ToUInt16(Read[2]);
ushort Graphic = Convert.ToUInt16(Read[3]);
Coz mi funguje ale pri "ushort Graphic" se mi to treba z cisla "3277" prevede na "0CCD" jenze bych potreboval aby to bylo ve formatu "0x0CCD".
Díky za vsechny rady uz si s tim lamu hlavu 2 dny.
Zdravim ...
Mam tu kousek kodu ale podle me sem ho napsal moc slozite a byl bych rad kdyby se to nejak zjednodusilo ...
Jde o to pokud mam zaskrtnytu urcity CheckBox tak se provede urcita vec ale zase osetreni aby se v dalsim kroku pri zaskrtnuti dalsich CheckBoxu nespustila ... Funguje mi to docela dobre akorad mi tam hodi pri zaskrtnutym checkboxu UltimaOnline_Check ze index je mimo hranici pole a nevim kde mam problem ale jinak to funguje .... ale me spis jde o to zjednoduseni abych to mohl popripade upravovat a v tomhle uz se skoro ani sam nevyznam a sam nevim jak to zjednodusit ...
Dík
public void Completed(object sender, AsyncCompletedEventArgs e)
{
if (UltimaOnline_Check.Checked == true)
{
if (Doplnky <= CountNew)
{
if (Doplnky == CountNew)
{
if (Dulezite <= 9)
{
Dulezite++;
MainFilesFind();
}
else
{
AddText("Hotovo - Instalace Ultimy Uložena do ./KelevarDataDownload/");
AddText("Nainstaluj Ultimu -> Vyplň Cestu k nainstalované Ultimě -> Klikni na Rozbalit -> Čekej");
}
}
else
{
Doplnky++;
OtherFiles();
}
}
}
if (MainFiles_Check.Checked == true)
{
if (Dulezite >= 9)
{
if (Razor_Check.Checked == true | RazorCZ_Check.Checked == true | Verdata_Check.Checked == true | AutoMap_Check.Checked == true)
{
if (Doplnky <= CountNew)
{
if (Doplnky == CountNew)
{
AddText("Hotovo! Klikni na Rozbalit");
}
else
{
if (UltimaOnline_Check.Checked == false)
{
Doplnky++;
OtherFiles();
}
}
}
}
}
else
{
Dulezite++;
MainFilesFind();
}
}
else
{
if (Doplnky < CountNew)
{
if (UltimaOnline_Check.Checked == false)
{
Doplnky++;
OtherFiles();
}
}
else
{
AddText("Doplňky stáhnuty");
}
}
}
Zdravim.
Mma takovej veklikej dotaz. Jak mam poslat HTTPPost abych se diky nemu dostal na dalsi stranku ktera je pod heslem?
Kod na HTTPPost mam ale vubec nevim jak zistit informace z ty dalsi stranky.
A jeste jedna otazka k SendPost chtel bych poslat HTTPPost abych si stahnul soubor jenom nevim jak to udelat protoze Kdyz poslu HTTPPost tak nevim jak udelat aby me ten soubor se ukazal ze chce stahnout ...
Díky za vsechny rady od zkusenejsich