|
Because youtube tutorials are generally written:
1) By people who have no idea how to make a video.
2) By people who have no idea how to teach, or even explain things.
and
3) By people who have working code, but mostly have no idea how it works or why.
At a guess - and that's all it's going to be, I'm not going near random youtube tutorials - he didn't show you something important or his code just plain doesn't work: Don't Hit Save - Welcome To The Tutorial[^] is timely ...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
|
The quality of the answers you get is directly dictated by the quality of the question you ask.
And knowing how to use the debugger probably would have headed off the question entirely.
|
|
|
|
|
Nobody helped? It's Easter Saturday and this is a volunteer support site. A bit of patience on your part would help.
This space for rent
|
|
|
|
|
Hello guys,
I'm making a small 3D platformer game with Unity, and I got some serious troubles making the player to walk on the rotating platforms, actually it turns out that it is absolutely impossible for me, I really tried everything, I've read probably all articles in the web about rotating platforms, parenting and so on, but nothing seems to help, even though the problem looks very simple.
What I'm doing is when the player jumps on the platform I make him a parent to that platform so he cam move with it, but in the moment I set him as a parent he turns at some degrees left or right(probably depending in the differences between the angle of the platform rotation and the angle of the player), here is a video that illustrates the problem:
err - YouTube[^]
I really have no idea why this happens and I'm so desperate nothing seems to work and if I can't fix it there is no point in continue making the game
Here is my code for parenting to the rotating platform:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.Characters.FirstPerson;
public class PlatformRide : MonoBehaviour
{
public GameObject _parent;
private GameObject _player = null;
void Start()
{
transform.gameObject.GetComponent<Collider>().isTrigger = true;
}
void LateUpdate()
{
if (!Globals.GamePaused)
{
_parent.transform.localRotation = transform.rotation;
}
}
void OnTriggerEnter(Collider col)
{
if (col.name == "CCLSSF_player")
{
_player = col.gameObject;
_player.transform.parent = _parent.transform;
}
}
void OnTriggerStay(Collider col)
{
if (col.name == "CCLSSF_player")
{
_player = col.gameObject;
_player.transform.parent = _parent.transform;
}
}
void OnTriggerExit(Collider col)
{
if (col.name == "CCLSSF_player")
{
_player.transform.parent = null;
_player = null;
}
}
}
I'm using the standard Unity FPS Controller, what could be wrong? Please help,
thank you in advance.
Even though I'm an artist throughout the years spent in coding I started to see that the programming is actually the real art .
|
|
|
|
|
If it works similar to WinForms, then the player would be confined to moving within that platform, not on top of it. I'd try adding some invisible container (Panel?) above the platform, same length as the platfrom, and a bit taller than the player. Next, set that as the parent.
Not sure if that would help, but the terms you're using gives me hope that it'll work similar
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Thank you Eddy, yes I did it in a similar way you described, fortunately last night when I was scrolling down Google results(again....) I found this article:
Preserving the players rotation on rotating platforms : Unity3D[^]
The user there experienced the exact same problem as mine and he managed to solve it by changing the 'localRotation' to 'rotation' in the MouseLook.cs class from the standard Unity FPS controller, here is the code for the fix(this is the last if... statement from LookRotation void:
if (clampVerticalRotation)
m_CameraTargetRot = ClampRotationAroundXAxis(m_CameraTargetRot);
if (smooth)
{
character.localRotation = Quaternion.Slerp(character.localRotation, m_CharacterTargetRot,
smoothTime * Time.deltaTime);
camera.localRotation = Quaternion.Slerp(camera.localRotation, m_CameraTargetRot,
smoothTime * Time.deltaTime);
}
else
{
character.rotation = m_CharacterTargetRot;
camera.localRotation = m_CameraTargetRot;
}
I'm sooo very glad I found this solution it saved my *ss I'm sharing it, so anyone who have similar problem might benefit.
Even though I'm an artist throughout the years spent in coding I started to see that the programming is actually the real art .
|
|
|
|
|
Nice, thanks for sharing
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Hello Members,
I don't know much about C# and .net framework.
I am working on a project where I need to communicate with IPv6 based UDP Server and I have to use NI labVIEW software to implement the GUI and code but NI labVIEW doesn't support IPv6 protocol .
I have implemented the UDP class in C# and created DLL to resolve my problem but I am unable to read the data from server. The send method is working perfect but not able to received data from server.
Below Error Message received during read the data from :
System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.ReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint& remoteEP)
at System.Net.Sockets.UdpClient.Receive(IPEndPoint& remoteEP)
at ENET_API.ENET_UDP.read(String ipaddr, Int32 portno, Int32 length)
Can anyone please guide me why I am getting above error and why I am unable to received the data from serve?
I have attached here my below source code implemented on C Sharp.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Net;
using System.Net.Sockets;
namespace ENET_API
{
public class ENET_UDP
{
private string _IPAddr = "";
public string IPAddr
{
get
{
return _IPAddr;
}
set
{
this._IPAddr = value;
}
}
private bool semaphoreTx = false;
private int _PortAddr = 0;
public int PortAddr
{
get
{
return _PortAddr;
}
set
{
this._PortAddr = value;
}
}
private string[,] _ENET_Transmit;
public string[,] ENET_Transmit
{
get
{
return _ENET_Transmit;
}
set
{
this._ENET_Transmit = value;
}
}
private string _ENET_UDPSend = "";
public string ENET_UDPSend
{
get
{
return _ENET_UDPSend;
}
set
{
this._ENET_UDPSend = value;
}
}
private int _XL_WriteVal = 0;
public int XL_WriteVal
{
get
{
return _XL_WriteVal;
}
set
{
this._XL_WriteVal = value;
}
}
private long _TxLoopElaspsed;
private bool _format = false;
public bool format
{
set
{
this._format = value;
}
get
{
return _format;
}
}
public long TxLoopElaspsed
{
get
{
return _TxLoopElaspsed;
}
set
{
this._TxLoopElaspsed = value;
}
}
private Boolean _stopTx = false;
public Boolean stopTx
{
get
{
return _stopTx;
}
set
{
this._stopTx = value;
}
}
private IPEndPoint LocalEndPoint;
private IPEndPoint RemoteEndPoint;
public UdpClient open()
{
RemoteEndPoint = new IPEndPoint(IPAddress.Parse(_IPAddr), _PortAddr);
LocalEndPoint = new IPEndPoint(IPAddress.IPv6Any, 50021);
System.Net.Sockets.UdpClient sock;
if (Regex.IsMatch(_IPAddr, @"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}") == true)
{
sock = new System.Net.Sockets.UdpClient(AddressFamily.InterNetwork);
}
else
{
sock = new System.Net.Sockets.UdpClient(AddressFamily.InterNetworkV6);
}
sock.ExclusiveAddressUse = false;
sock.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
sock.Client.Bind(LocalEndPoint);
sock.Connect(RemoteEndPoint);
return sock;
}
public void close(UdpClient udpsock)
{
udpsock.Close();
}
//public void write(UdpClient udpsock, string Data)
public void write(UdpClient sock, string Data)
{
while (semaphoreTx == true)
{
}
semaphoreTx = true;
if (Data != "")
{
byte[] data;
if (_format != true)
{
data = new byte[Data.Length / 2];
for (int i = 0; i < Data.Length; i += 2)
{
data[i / 2] = Convert.ToByte(Data.Substring(i, 2), 16);
}
}
else
{
data = Encoding.ASCII.GetBytes(Data);
} try
{
//sock.Send(data, data.Length, LocalEndPoint);
sock.Send(data, data.Length);
Data = "";
}
catch
{
}
}
semaphoreTx = false;
}
private void TxLoop(UdpClient sock)
{
var LoopTime = System.Diagnostics.Stopwatch.StartNew();
int j = 1;
while (this._stopTx == false)
{
while (semaphoreTx == true)
{
}
semaphoreTx = true;
if (this._ENET_UDPSend != "")
{
byte[] data;
if (_format != true)
{
data = new byte[this._ENET_UDPSend.Length / 2];
for (int i = 0; i < this._ENET_UDPSend.Length; i += 2)
{
data[i / 2] = Convert.ToByte(this._ENET_UDPSend.Substring(i, 2), 16);
}
}
else
{
data = Encoding.ASCII.GetBytes(this._ENET_UDPSend);
}
try
{
//udpsock.Send(data, data.Length, LocalEndPoint);
sock.Send(data, data.Length);
this._ENET_UDPSend = "";
}
catch //(Exception e)
{
}
}
for (int i = 0; i < this._ENET_Transmit.Length / 4; i++)
{
if ((this._ENET_Transmit.GetValue(i, 0).ToString() == "1") && ((j * 10) % Convert.ToInt32(this._ENET_Transmit.GetValue(i, 1).ToString()) == 0))
{
byte[] data;
if (_format != true)
{
data = new byte[this._ENET_Transmit.GetValue(i, 2).ToString().Length / 2];
for (int k = 0; k < this._ENET_Transmit.GetValue(i, 2).ToString().Length; k += 2)
{
data[k / 2] = Convert.ToByte(this._ENET_Transmit.GetValue(i, 2).ToString().Substring(k, 2), 16);
}
}
else
{
data = Encoding.ASCII.GetBytes(this._ENET_Transmit.GetValue(i, 2).ToString());
}
try
{
//sock.Send(data, data.Length, LocalEndPoint);
sock.Send(data, data.Length);
}
catch
{
}
}
}
semaphoreTx = false;
while (LoopTime.ElapsedMilliseconds < 10)
{
}
j += 1;
if (j > 360000) // 3600 Sec Loop Max Periodicity i.e. 1 Hour
{
j = 1;
}
this._TxLoopElaspsed = LoopTime.ElapsedMilliseconds;
LoopTime.Reset();
LoopTime.Start();
}
LoopTime.Stop();
this._TxLoopElaspsed = 0;
}
public string read(string ipaddr, int portno, int length)
{
IPEndPoint sender;
System.Net.Sockets.UdpClient sock;
if ((ipaddr == "") && (portno == 0))
{
sender = new IPEndPoint(IPAddress.IPv6Any, 0);
}
else if ((ipaddr != "") && (portno == 0))
{
sender = new IPEndPoint(IPAddress.Parse(ipaddr), 0);
}
else if ((ipaddr == "") && (portno != 0))
{
sender = new IPEndPoint(IPAddress.IPv6Any, portno);
}
else
{
sender = new IPEndPoint(IPAddress.Parse(ipaddr), portno);
}
System.Net.Sockets.UdpClient sock;
if (Regex.IsMatch(_IPAddr, @"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}") == true)
{
sock = new System.Net.Sockets.UdpClient(AddressFamily.InterNetwork);
}
else
{
sock = new System.Net.Sockets.UdpClient(AddressFamily.InterNetworkV6);
}
sock.ExclusiveAddressUse = false;
sock.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
sock.Client.Bind(LocalEndPoint);
sock.Connect(sender);
int len;
if (length != 0)
{
len = length;
}
else
{
len = sock.Available;
}
string stringData = "";
if (len != 0)
{
var LoopTime = System.Diagnostics.Stopwatch.StartNew();
byte[] data = new byte[len];
int RxTimeout = 2000;
sock.Client.ReceiveTimeout = RxTimeout;
while (LoopTime.ElapsedMilliseconds < RxTimeout)
{
try
{
data = sock.Receive(ref sender);
stringData += BitConverter.ToString(data).Replace("-", "");
}
catch (Exception e)
{
stringData = e.ToString();
}
}
//stringData = "@" + sender.Address.ToString() + "(" + Encoding.ASCII.GetString(data, 0, data.Length) + ")";
LoopTime.Stop();
}
sock.Close();
return stringData;
}
public void StartTx(UdpClient udpsock)
{
this._stopTx = false;
Thread Thd = new Thread(() => TxLoop(udpsock));
Thd.IsBackground = true;
Thd.Start();
}
|
|
|
|
|
Start with a "console app" that does a single connect, send, receive and display ... successfully; then build on that.
You're in the deep end without knowing how to swim.
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
public PulloutReturnResponse InsertPulloutReturnItems(String Barcode, String Details, String Status, String Actor, String Attachment, String CheckedBy)
{
try
{
using (MySqlConnection mycon = dbcon.getConnection())
{
using (MySqlCommand mycmd = mycon.CreateCommand())
{
if (Status == "2")
{
mycmd.CommandText = "SELECT barcode FROM AssetManagementDB.PulloutReturn WHERE barcode = <a href="https:
mycmd.Parameters.Clear();
mycmd.Parameters.AddWithValue("@barcode", Barcode);
mycmd.Parameters.AddWithValue("@status", Status);
mycon.Open();
MySqlDataReader rdr = mycmd.ExecuteReader();
if (rdr.HasRows)
{
rdr.Dispose();
rdr.Close();
mycon.Close();
_assetlog.Info("Barcode: " + Barcode + "Details: " + Details + "Status: " + Status +
"Actor: " + Actor + "Attachment: " + Attachment + "CheckedBy: " + CheckedBy);
return new PulloutReturnResponse { RespCode = -1, RespMsg = "Asset already Pulled-out!" };
}
rdr.Dispose();
rdr.Close();
mycon.Close();
mycmd.CommandText = " UPDATE AssetManagementDB.PulloutReturn " +
" SET PulloutReturn.status = <a href="https:
" WHERE barcode = <a href="https:
mycmd.Parameters.Clear();
mycmd.Parameters.AddWithValue("@barcode", Barcode);
mycmd.Parameters.AddWithValue("@status", Status);
mycon.Open();
mycmd.Transaction = mycon.BeginTransaction();
int i = mycmd.ExecuteNonQuery();
if (i >= 1)
{
_assetlog.Info("Barcode: " + Barcode + "Details: " + Details + "Status: " + Status +
"Actor: " + Actor + "Attachment: " + Attachment + "CheckedBy: " + CheckedBy);
mycmd.CommandText = "UPDATE AssetManagementDB.ItemEntry SET status = <a href="https:
mycmd.Parameters.Clear();
mycmd.Parameters.AddWithValue("@status", Status);
mycmd.Parameters.AddWithValue("@barcode", Barcode);
i = mycmd.ExecuteNonQuery();
if (i >= 1)
{
mycmd.Transaction.Commit();
mycon.Close();
return new PulloutReturnResponse { RespCode = 1, RespMsg = "Succesfully Pulled-out Item!" };
}
mycmd.Transaction.Rollback();
mycon.Close();
return new PulloutReturnResponse { RespCode = -1, RespMsg = "Saving Failed!" };
}
}
if (Status == "3")
{
mycmd.CommandText = "SELECT barcode FROM AssetManagementDB.PulloutReturn WHERE barcode = <a href="https:
mycmd.Parameters.Clear();
mycmd.Parameters.AddWithValue("@barcode", Barcode);
mycmd.Parameters.AddWithValue("@status", Status);
mycon.Open();
MySqlDataReader rdr = mycmd.ExecuteReader();
if (rdr.HasRows)
{
rdr.Dispose();
rdr.Close();
mycon.Close();
_assetlog.Info("Barcode: " + Barcode + "Details: " + Details + "Status: " + Status +
"Actor: " + Actor + "Attachment: " + Attachment + "CheckedBy: " + CheckedBy);
return new PulloutReturnResponse { RespCode = -1, RespMsg = "Asset already Pulled-out!" };
}
rdr.Dispose();
rdr.Close();
mycon.Close();
mycmd.CommandText = " UPDATE AssetManagementDB.PulloutReturn " +
" SET PulloutReturn.status = <a href="https:
" WHERE barcode = <a href="https:
mycmd.Parameters.Clear();
mycmd.Parameters.AddWithValue("@barcode", Barcode);
mycmd.Parameters.AddWithValue("@status", Status);
mycon.Open();
mycmd.Transaction = mycon.BeginTransaction();
int i = mycmd.ExecuteNonQuery();
if (i >= 1)
{
_assetlog.Info("Barcode: " + Barcode + "Details: " + Details + "Status: " + Status +
"Actor: " + Actor + "Attachment: " + Attachment + "CheckedBy: " + CheckedBy);
mycmd.CommandText = "UPDATE AssetManagementDB.ItemEntry SET status = <a href="https:
mycmd.Parameters.Clear();
mycmd.Parameters.AddWithValue("@status", Status);
mycmd.Parameters.AddWithValue("@barcode", Barcode);
i = mycmd.ExecuteNonQuery();
if (i >= 1)
{
mycmd.Transaction.Commit();
mycon.Close();
return new PulloutReturnResponse { RespCode = 1, RespMsg = "Succesfully Returned Item!" };
}
mycmd.Transaction.Rollback();
mycon.Close();
return new PulloutReturnResponse { RespCode = -1, RespMsg = "Saving Failed!" };
}
}
else
{
mycmd.Transaction.Rollback();
_assetlog.Info("Barcode: " + Barcode + "Details: " + Details + "Status: " + Status +
"Actor: " + Actor + "Attachment: " + Attachment + "Checked By: " + CheckedBy);
return new PulloutReturnResponse { RespCode = -1, RespMsg = "Saving Failed!" };
}
}
}
}
catch (Exception ex)
{
_assetlog.Fatal("Error: " + ex.Message.ToString());
return new PulloutReturnResponse { RespCode = -1, RespMsg = ex.Message };
}
}
arthur
modified 30-Mar-18 3:17am.
|
|
|
|
|
What the error means is exactly what it says: there is at least one route through your code where it is possible to exit the method without hitting a return or throw instruction.
A quick glance shows one such:
if (Status == "2")
{
if (rdr.HasRows)
{
return new PulloutReturnResponse { RespCode = -1, RespMsg = "Asset already Pulled-out!" };
}
if (i >= 1)
{
if (i >= 1)
{
return new PulloutReturnResponse { RespCode = 1, RespMsg = "Succesfully Pulled-out Item!" };
}
return new PulloutReturnResponse { RespCode = -1, RespMsg = "Saving Failed!" };
}
}
It's entirely possible that your data prevents it actually happening, but VS doesn;t know that - so it complains.
Suggestion: Add a throw at the end of the method as a "catch all" exception - and if it ever occurs you will know there is a problem!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
So I'm learning C# WPF coming from Java. Those who know Java, know it can get interesting creating complicated widows applications as it's all done in Java code (I've never seen it done like wpf work xaml).
I'm not sure if this is something I want to take yet, but it is a question in the back of my mind.
Our company IT guy says you can make a custom dll of ui elements in xaml and code, then compile as a dll. I asked because I want sure if you could only write dlls with C# code and not xaml, he did admit in the several years in C C# he's never actually done this.
But, is it possible to write the dll, using common already available controls and maybe extending the classes idk yet. But using common wpf controls changing the view of those controls.
For example, say I wanted to change the look of the openfiledialog but keep all the functionality (maybe add to it) is there a way to capture the functionality, and build a GUI for it?
|
|
|
|
|
The "OpenFileDialog" is part of the "Windows common controls", and is NOT a "WPF control" you can style (using WPF "styles").
A dll can contain all kinds of "classes"; it's simply a matter of including the right "references" to .NET "system" libraries when building it.
A dll can contain both WPF "Windows" and Windows "Forms"; user controls; and custom classes and controls.
XAML is simply "presentation" (like HTML) that gets compiled and incorporated at run time. Whatever you do in XAML, can pretty well be constructed on the fly in code. XAML does not require any special treatment (exe vs dll).
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
Gerry Schmitz wrote: A dll can contain both WPF "Windows" and Windows "Forms"; user controls; and custom classes and controls. Have you ever done this yourself ? Seen it done ? Evidence ?
«... thank the gods that they have made you superior to those events which they have not placed within your own control, rendered you accountable for that only which is within you own control For what, then, have they made you responsible? For that which is alone in your own power—a right use of things as they appear.» Discourses of Epictetus Book I:12
|
|
|
|
|
Yes; I CREATE AND USE Dll's in my apps "containing WPF AND Windows Forms; etc.".
e.g. customer required custom "settings" functions. New functions (including WPF for data entry; Windows forms for the "windows charting control" and "report (rdlc) viewing)" were added as a SEPARATE DLL.
A "class library", by default, does not have references to WPF, XAML or Windows Forms "system" dll's; you add them explicitly. Then you add the Windows, etc.
The fact that this is beyond your comprehension, does not negate the fact that it can and is being done.
Better stick to bit-fiddling.
(I also use DLL's for my Entity Framework "repositories" / DAL / whatever; or an XML pickup).
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
Upvoted. I am delighted to read a post from you with on-topic content
Seriously, I think it would be very valuable for CodeProject to have an article on this.
thanks, Bill
«... thank the gods that they have made you superior to those events which they have not placed within your own control, rendered you accountable for that only which is within you own control For what, then, have they made you responsible? For that which is alone in your own power—a right use of things as they appear.» Discourses of Epictetus Book I:12
|
|
|
|
|
Dwayne Barsotta wrote: you can make a custom dll of ui elements in xaml and code, then compile as a dll We have many WPF applications but they all use the same login DLL (or we sometimes include the project) which includes datasource, viemodel, view and code. So yes your IT guy is correct.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Start here: [^]
For possible issues with mixing and matching WinForms and WPF UserControls:
[^]
|
|
|
|
|
Are there open source styles our frameworks that pretty much changes the entire look of elements?
I'd like to make applications that don't look exactly like the typical windows window? With out me having to remake common controls.
I'm also about to post a question about building UI elements.
|
|
|
|
|
I have to admit that I'm rather partial to the work done on MahApps[^]. Alternatively, there are some free WPF themes[^] available on CodePlex (you'll have to download the archive).
This space for rent
|
|
|
|
|
WPF styles "cascade"; from the application level; through to local assignments; down to the property level.
By refraining from setting any styles at a "low" level, you can influence the entire "theme" of an app by only (first) setting styles at the "application level", which will then cascade down to the lowest level.
e.g. Define the style of a "TextBox" at the app level, and the entire app will have a similar textbox style; while still being able to override at any level in the "visual tree" (of ui controls).
By limiting the setting of "background" and "forground" colors to "dynamic resources" (versus "static" resources) at the app level, I can give the user the ability to change theme colors on-the-fly from "summer" to "winter" (for example).
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
Google translate: Hello,
I practice on a program that gives me numbers and random letters. I am connected to a database SQLite which works perfectly but my current concern is that I can not print. In the data source I do not see Data Sqlite for me connected, the tutorials that I look at are those who program under vb2013, 2015 ... me I am on vb2008.
I would like to know how to make the data sqlite appear in my data source.
Cordially..
Original: Bonjour,
Je m'exerce sur un programme qui me donne des chiffres et lettres aléatoire. Je suis connecté à une base de donnée SQLite qui fonctionne parfaitement mais mon soucis actuel c'est que je n'arrive pas à imprimer. Dans la source de donnée je ne voit de Data Sqlite pour me connecté, les tutos que je regarde concerne ceux qui programme sous vb2013, 2015... moi je suis sur vb2008.
J'aimerais savoir comment faire apparaître le data sqlite dans ma source de donnée.
Cordialement..
|
|
|
|
|
This is an English language site, and we only accept questions and answers in that language: please use Google Translate in future to assist. I have added the translation to your question.
Ceci est un site en Anglais, et nous acceptons seulement les questions et réponses dans cette langue: s'il vous plaît utiliser Google Translate à l'avenir pour vous aider. J'ai ajouté la traduction à votre question.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Please excuse me for this error ...
|
|
|
|
|